- 博客(9)
- 收藏
- 关注
转载 c++中构造函数初始化列表
http://blog.youkuaiyun.com/ianchoi/article/details/6917899CSomeClass::CSomeClass() //赋值{ x=0; y=1; } //初始化列表CSomeClass::CSomeClass() : x(0), y(1) { } 初始化列表方式使用原因:1.第一、必要性
2015-12-01 14:30:31
409
转载 引用初始化(临时对象)
关于引用的初始化有两点值得注意:(1)当初始化值是一个左值(可以取得地址)时,没有任何问题;(2)当初始化值不是一个左值时,则只能对一个const T&(常量引用)赋值。而且这个赋值是有一个过程的:首先将值隐式转换到类型T,然后将这个转换结果存放在一个临时对象里,最后用这个临时对象来初始化这个引用变量。例子:double& dr = 1; // 错误:需要左
2015-10-15 15:40:05
933
转载 交换两个数不使用第三方变量=!!=深入理解按位异或运算符
不使用第三方变量交换两个变量的值这需要进行位操作,必较麻烦的, 在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的。通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: int a,b; a=10; b=15; int t; t=a; a=b; b=t; 这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典
2015-09-11 11:44:12
433
转载 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
491
转载 详解C中volatile关键字
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:short flag;vo
2015-09-06 14:20:00
244
转载 (&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
827
转载 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
371
转载 sizeof为什么不能计算被动态分配的数组
sizeof为什么不能计算被动态分配的数组 (2012-08-10 11:06:34)转载▼标签: 杂谈 来源:http://topic.youkuaiyun.com/u/20080319/19/66986262-83c6-479c-8191-2b1a0b961613.html?1932183687sizeof()只是符号表,
2015-09-06 01:22:41
430
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅