变量和常量 变量 是计算机语言中能储存计算结果或能表示值的抽象概念 每个变量都必须声明其类型 包括变量名,变量类型,作用域 创建一个简单的变量 //变量类型 变量名 = 值; 基本类型 int value=1; //变量类型 变量名 = 值; 引用类型 String name="帅帅"; 注意事项 ...
分类:
其他好文 时间:
2020-11-04 18:50:37
阅读次数:
18
C++ 11中的右值引用 左值引用 C++中,有一个C语言没有的概念叫做引用,也就是 int i = 10; int& j = i; 所谓引用,可以理解成指针常量,及它的指向无法更改,在初始化时便被确定下来,但可以修改地址中的内容。指针与引用还是有差别的,但本文不予以说明,具体可以参考百度 cons ...
分类:
编程语言 时间:
2020-10-26 11:50:50
阅读次数:
33
内存分析 内存分析: Java内存分析: 堆: 存放new的对象和数组 可以被所有的线程共享,不会存放别的对象引用 栈: 存放基本变量类型(会包含这个基本类型的具体数值) 引用对象的变量(会存放这个引用在堆里面的具体地址) 方法区: 可以被所有的线程共享 包含了所有的class和static变量 三 ...
分类:
编程语言 时间:
2020-07-31 14:06:11
阅读次数:
77
当进行拷贝或赋值操作时,每个shared_ptr都会纪录有多少个其他shared_ptr指向相同的对象: auto p = make_shared<int>(50);//p指向的对象只有p一个引用者 auto q = p; //p和q指向相同对象,此对象有两个引用者; 智能指针类能记录有多少个sha ...
分类:
编程语言 时间:
2020-07-28 22:13:59
阅读次数:
134
变量、对象、引用之间的关系 变量是一个系统表的元素,拥有指向对象的连接的空间 对象是被分配的一块内存,存储其所代表的值 引用是自动形成的从变量到对象的指针 类型属于对象,不是变量 对象 Python中一切皆对象,如:1,'a',[1,2,3],(1,),{'a':4} 变量 a=3,a就是一个变量 ...
分类:
编程语言 时间:
2020-07-21 09:35:53
阅读次数:
79
左值和右值 左值:能用在赋值语句等号左侧的东西;能够代表一个地址; 右值:不能作为左值的值就是右值,右值不能出现在赋值语句等号的左侧; 结论: C++的表达式,要么是左值,要么是右值,不能能两者都不是; 左值有的时候能够被当做右值使用; int i = 10; i = i + 1; //i是个左值, ...
分类:
编程语言 时间:
2020-07-21 09:32:08
阅读次数:
61
1. 左值引用在下列情况下会产生临时变量,函数中的引用则是临时变量的引用,并不是原变量的引用 double refcube(const double &ra){ return ra*ra*ra; } //case 1. double c1=refcube(7.0); //case2 long edg ...
分类:
编程语言 时间:
2020-07-18 22:13:19
阅读次数:
69
constexpr是c++11标准添加的关键字。 相同点: const和consexpr都是用来定义常量的。不同点: const声明的常量,初始值引用的对象不一定是一个常量; const 所定义的变量,一经初始化便不能修改,但是不要求const所定义变量在编译的时候就能被算出。 constexpr ...
分类:
编程语言 时间:
2020-07-10 15:05:13
阅读次数:
64
这个问题的完整语义是: Java方法调用时,参数变量是值传递还是引用传递的。 所谓引用传递是指传递栈帧中的局部变量表的变量槽地址,值传递是指传递栈帧中的局部变量表的变量槽地址所存储的值。 局部变量表中的变量槽分为两种: 基本类型变量槽会直接存储字面量值,引用类型变量槽会存储堆中的对象地址。 回答这个 ...
分类:
编程语言 时间:
2020-07-09 19:45:52
阅读次数:
78
Java的三种初始化和内存分析 声明数组放在栈里。 创建数组放在堆里。 java的内存分析 堆 存放new的对象和数组 可以被所有的线程共享,不会存放别的对象引用 栈 存放基本变量类型(会包含这个基本类型的具体数值) 引用对象的变量(会存放这个引用在堆里面的具体地址) 方法区 可以被所有的线程共享 ...
分类:
编程语言 时间:
2020-07-08 16:58:04
阅读次数:
72