- 博客(9)
- 收藏
- 关注
转载 c++中构造函数初始化列表
http://blog.csdn.net/ianchoi/article/details/6917899 CSomeClass::CSomeClass() //赋值 { x=0; y=1; } //初始化列表 CSomeClass::CSomeClass() : x(0), y(1) { } 初始化列表方式使用原因: 1.第一、必要性
2015-12-01 14:30:31 364
转载 引用初始化(临时对象)
关于引用的初始化有两点值得注意: (1)当初始化值是一个左值(可以取得地址)时,没有任何问题; (2)当初始化值不是一个左值时,则只能对一个const T&(常量引用)赋值。而且这个赋值是有一个过程的: 首先将值隐式转换到类型T,然后将这个转换结果存放在一个临时对象里,最后用这个临时对象来初始化这个引用变量。 例子: double& dr = 1; // 错误:需要左
2015-10-15 15:40:05 872
转载 交换两个数不使用第三方变量=!!=深入理解按位异或运算符
不使用第三方变量交换两个变量的值这需要进行位操作,必较麻烦的, 在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的。通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: int a,b; a=10; b=15; int t; t=a; a=b; b=t; 这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典
2015-09-11 11:44:12 399
转载 const与指针
const类型的指针可以指向非const类型的对象,但const类型的对象必须由const类型的指针指定: [cpp] view plaincopy // C++ 语言强制要求指向 const 对象的指针也必须具有 const 特性 const double d1 = 3.14; const double *pd1 = &d1;
2015-09-06 23:24:53 443
转载 详解C中volatile关键字
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序: short flag; vo
2015-09-06 14:20:00 209
转载 (&a+1)
请先看以下程序: Q: 若 int a[5]; 则 &a+1 的含义是甚么? A: &a+1 不是表示a的地址(设为Ox0010)加1,变为0x0011. 由于a为包括5个int类型的数组,则"&a+1"中的"+1"表示为相当于"1"个a大小的空间(或成为偏移),此时&a+1 表示 a[5]. Q: 若 int* ptr = (in
2015-09-06 11:28:17 751
转载 pragma pack对齐方法
http://hi.baidu.com/zhanghuikl/blog/item/124ea7998108a9006e068c19.html 强调一点: #pragma pack(4) typedef struct { char buf[3]; word a; }kk; #pragma pack() 对齐的原则是min
2015-09-06 10:34:11 338
转载 sizeof为什么不能计算被动态分配的数组
sizeof为什么不能计算被动态分配的数组 (2012-08-10 11:06:34) 转载▼ 标签: 杂谈 来源:http://topic.csdn.net/u/20080319/19/66986262-83c6-479c-8191-2b1a0b961613.html?1932183687 sizeof()只是符号表,
2015-09-06 01:22:41 398 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人