#include int main(int argc, char *argv[]) { int a[3]={1,2,3}; int (*pa)[3]; // *pa=a; //错误,因为pa没有被赋值,怎么取值,语法错误。 pa=&a; //正确,&a为指向数组的地址,和pa类型匹配 printf(... ...
分类:
编程语言 时间:
2017-11-20 23:26:11
阅读次数:
430
基本类型 派生类型 类型限定符 A.5 对象和左值 A.6 转换 整型提升 整型转换 整数和浮点数 浮点类型 算术类型转换 指针和整数 void 指向void的指针 ...
分类:
编程语言 时间:
2017-11-12 23:07:55
阅读次数:
292
首先,先看下面一个例子: eg.1 #include<</span>iostream> usingnamespace std; int main(){ int i =2; double &r =i; return 0; } gcc error: invalid initialization of r ...
分类:
其他好文 时间:
2017-11-12 12:35:35
阅读次数:
226
A.1 引言 A.2 词法规则 记号 注释 标识符 关键字 常量 字符串字面值 A.3 语法符号 A.4 标识符的含义 存储类 基本类型 派生类型 类型限定符 A.5 对象和左值 A.6 转换 整型提升 整型转换 整数和浮点数 浮点类型 算术类型转换 指针和整数 void 指向void的指针 ...
分类:
编程语言 时间:
2017-11-12 00:26:31
阅读次数:
278
1、左值和右值的概念 左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体; 右值当在赋值号右边取出值赋给其他变量的值;右值可以在内存也可以在CPU寄存器。 一个对象被用作右值时,使用的是它的内容(值),被当作左值时,使用的是它的地址。 2、引用 引用是C++语法做的优化,引用的本质还是 ...
分类:
其他好文 时间:
2017-11-05 17:56:56
阅读次数:
182
1. 动态内存分配 (1)C++通过 new 关键字进行动态内存申请,是以类型为单位来申请空间大小的 (2)delete 关键字用于内存释放 ▲注意释放数组时要加[],否则只释放这个数组中的第 1 个元素。 C++中的动态内存分配 2. new 关键字 (1)对比 new 和 malloc new ...
分类:
编程语言 时间:
2017-10-30 11:44:27
阅读次数:
244
1. std::forward原型 2. 完美转发(Perfect Forwarding) (1)完美转发:是指在函数模板中,完全依照模板的参数类型(即保持参数的左值、右值特征),将参数传递给函数模板中调用的另外一个函数。 (2)原理分析 (3)std::forward和std::move的联系和区 ...
分类:
其他好文 时间:
2017-10-27 15:41:31
阅读次数:
129
_proto_和prototype的区别: _proto_是隐式原型prototype是显示原型 prototype:每一个函数创建之后都会拥有一个名为prototype的属性,这个属性指向函 数的原型对象 _proto_ :javascript中任意的对象都有一个内置属性[[prototype]] ...
分类:
其他好文 时间:
2017-10-27 13:13:47
阅读次数:
80
问题一: 第一个问题是对IDE过于依赖导致的bug,由于我经常使用Java和c++,之间的一些区别有时候就很容易忽略: 在Java中,这样的判断eclipse是会报错的,因为a=b是赋值语句,所以返回值是对左值的引用,返回int,而java的判断语句括号中必须是boolean,不然会报错。 而在c+ ...
分类:
其他好文 时间:
2017-10-25 00:50:54
阅读次数:
200
1. 左值和右值 (1)两者区别: ①左值:能对表达式取地址、或具名对象/变量。一般指表达式结束后依然存在的持久对象。 ②右值:不能对表达式取地址,或匿名对象。一般指表达式结束就不再存在的临时对象。 (2)右值的分类 ①将亡值(xvalue,eXpiring value):指生命期即将结束的值,一般 ...
分类:
其他好文 时间:
2017-10-20 13:27:04
阅读次数:
167