手机用户,请点我咨询搬家
广州羊城搬家
广州羊城搬家
广州羊城搬家
广州羊城搬家
广州羊城搬家
广州羊城搬屋

广州羊城搬家公司

广州羊城搬家公司提供广州天河海珠越秀荔湾黄埔白云花都增城从化萝岗番禺南沙区等搬家搬厂服务,预约热线与广州大众搬屋公司合作多年!

« 711111u,广州花都搬家1广州吊沙发,广州吊床垫,广州吊机器,广州a,广州荔湾搬 »

53、C++ Primer 4th 笔记,基本语言相关的d,广州蚂蚁搬

1、数组的维数必须用大于等于1的常量表达式定义:只能包含整形字面值常量,枚举常量,或用常量表达式初始化的整形const对象.
数组下标的类型是size_t,是cstddef 中定义的与机器相关的无符号整形.
C++不允许长度为0的数组变量,但明确指出,调用new动态创建长度为0的数组是合法的.
2、把int型变量赋给指针是非法的,尽管此int型变量的值可能为0.但允许把数值0或在编译时可获得0值的const量赋给指针.
void*:可以指向任何非const对象的指针类型;可以进行的操作有:用作函数形参,返回类型,与其它指针进行比较;但是不允许使用void*指针操作它所指向的对象(不能进行解引用操作) .
两个指针相减结果是标准类型ptrdiff_t的数据,广州蚂蚁搬家,是signed整形.
3、C++允许计算数组或对象的超出未端的地址,广州吊床垫,但不允许对此地址进行解引用操作;而计算数组超出未端位置之后或数组之前的地址都是不合法的.
1)指向const对象的指针
const double *cptr;
由于没有办法分辩cptr所指的对象是否为const,所以系统会把它所指的所有对象都视为const.
cptr不是const.只是无论cptr指向的是const double,还是非const double,都不可以改变其值.
2)const 指针
int *const curErr;
curErr是指向int型对象的const指针.
注意const在有反引用操作符*和没有反引用操作符时的区别.
typedef string* pstring;
const pstring cstr;
类同:
const int i;此时,const修饰的是i,而不是int.
4、strlen总是假定其参数字符串以null字符结束(因为函数在计算个数以null认为是结束符),但是计算个数不包括null结束符.
strncat会把目标字符串的最后一个null结束符覆盖,并且在新串后写入新的结束符.
7、C++中,字符串字面值就是C风格字符串,都以null结尾.
8、表达式由一个或多个操作数通过操作符组合而成.仅包含一个字面值常量或变量的表达式是最简单的.如果表达式中没有操作符,结果就是操作数本身.
9、移位操作的右操作数不可以是负数,而且必须严格小于左操作数位数的值;否则,操作结果未定义.
位的操作和使用:1UL<<27等等.
10、赋值表达式的值是左操作数的值,其结果的类型为左操作数的类型.
养成使用前置操作是个好习惯.(++i)
11、sizeof操作符
sizeof(type_name);
sizeof (expr);
sizepf expr;
12、C++中,规定了操作数计算顺序的操作符还有条件(?:)和逗号操作符;除此之外,其它操作符并未指定其操作数的求值顺序.
一个表达式里,不要在两个或更多的子表达式中对同一对象做自增或自减操作.
13、类型名后加()来对动态创建的对象初始化.
int *pi = new int();
14 、隐式转换
while(cin) //cin converted to bool
如short,unsigned short等一起,如果int可以容纳该类型的所有可能值,则转换成int,否则转换成unsigned int.
表达式中的signed int与signed共存时,signed转化成signed int.
整形数值常量0可转换为任意指针类型.
不将数组转换成指针的例外情况下:&(取地址),sizeof,用数组对数组的引用作初始化.
15、强制类型转换[1,2-P160中文版]
cast-name<type>(expression);
1)dynamic_cast 支持运行时类别指针或引用所指向的对象.
2)static_cast 编译器隐式执行的任何类型转换都可以由static_cast显式完成.
3)reinterpret_cast 通过为操作数的位模式提供较底层的重新编译.
强制类型转换关闭或挂起了正常的类型检查,尽量避免使用.如:
int *ip;
char *pc = reinterpret_cast<char*>(ip);
程序员必须永远记住pc所指向的是真实对象是int型,而非字符数组,任何假设pc为普通字符指针的应用,都有可能带来运行时错误.如string str(pc); //有怪异行为
此外,旧式强制类型转换依赖于所涉及的数据类型,具有与上面三种显式转换一样的形为;编译器根据实际情况应用相关合适的转换.
int ival; double dval;
ival += int (dval); // static_cast: converts double to int
const char* pc_str;
string_copy((char*)pc_str); // const_cast: casts away const
int *ip;
char *pc = (char*)ip; // reinterpret_cast: treats int* as char*
15、结合性:决定同一优先级的操作符如何结合;
优先级:决定复合表达式中不同操作符的结合方式.
参考
[1] 进一步了解显式类型转换

[2] C++ Primer 4 th
调查称Android开发者首次比iPhone"吃香" 传谷歌Facebook百度高管将受邀向G8峰会建言 微软可能会在六月展示Windows 8平板操作系统? 传iPad 2摄像头与iPod Touch类似 金融时报呼吁出版商对网络内容收费 基于.NET的大型Web站点StackOverflow架构分析 构建 View 时可能用到的代理函数调用顺序 从MySQL复制功能中得到一举三得实惠 常用 Xcode 配色(Theme)介绍 更多知识库文章... China-pub 计算机图书网上专卖店!6.5万品种2-8折! China-Pub 计算机绝版图书按需印刷服务 3、C++ Primer 4th 笔记,基本语言相关的概念[2] M面试笔记题目收集(6) Windows API(37) Windows Shell(4) Windows 其它(3) Windows安全(2) Windows内核编程(50) Z专业基础理论之OS(4) 2011年3月(6) 2011年2月(27) 2011年1月(23) 2010年12月(34) 2010年11月(16) 2010年10月(34) 2010年9月(23) 2010年8月(20) 2010年7月(4) 1. Re:16、用VS2005调试编译驱动程序 2. Re:5、Windows驱动开发技术详解笔记(1) 入门基础-驱动程序结构 3. Re:5、Windows驱动开发技术详解笔记(1) 入门基础-驱动程序结构 4. Re:6、Windows驱动开发技术详解笔记(2) 基本语法回顾 5. Re:6、Windows驱动开发技术详解笔记(2) 基本语法回顾 1. 1、Win7 UAC的安全、兼容及权限(369) 2. 2、进程同步与互斥(277) 3. 5、Windows驱动开发技术详解笔记(1) 入门基础-驱动程序结构(174) 4. 26、Windows驱动程序的同步处理(2)(167) 5. 1、从汇编语言到Windows内核编程笔记(1)(165) 6. 6、Windows驱动开发技术详解笔记(2) 基本语法回顾(148) 7. 1、va_arg, va_end, va_start的用法用结(143) 8. 16、用VS2005调试编译驱动程序(142) 9. 4、对变量在栈上存储顺序,及函数返回值与参数在栈上存放顺序的思考(2)(141) 10. 8、进程通信-匿名管道(138)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By 广州羊城搬家公司

Copyright 2011-2012 广州羊城搬家 All Rights Reserved
搬家QQ: 点击就开始搬家
搬迁链接:广州大众搬家公司 广州搬家公司 广州吊车出租 广州蚂蚁搬家 人人搬家