表达式
1.自增,自减操作符
int i=0,j; j=++i;//i=1,j=1 j=i++;//i=2,j=1
前置操作返回的是加1后的值,,后置操作返回的是原值。要先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。先加1,返回原值。
2.箭头操作符:为包含点操作符和解引用操作符的表达式一个同义词,用于获取类类型的成员
(*p).foo; p->foo;
3.
t5_18:定义一个string指针的vector,输入内容,然后输出 vector<string *> vec; string str; cout << "enter strings:" ; while (cin >> str) { string *pstr = new string; // 必须新分配一块地方 // string *pstr = &str;不对,指向同一空间啦 *pstr = str; // 每个指针单独指向一块空间,赋值 vec.push_back(pstr); if(vec.size()==4) cout <<"vec[1]:" << *vec[1] << endl; } for (vector<string *>::iterator it =vec.begin(); it != vec.end(); ++it) { cout <<**it << ", len: " << (**it).size()<< endl; }
4.sizeof操作符:返回一个对象或者类型名的长度,返回的类型为size_t单位字节
sizeof (expr)
sizeof (type name) // 必须加括号
sizeof expr : 并没有计算表达式的值
Sales_item item, *p;
sizeof item;
sizeof *p; // 并没有解引用操作, p指向一块没有意义 的地址
sizeof (Sales_item)
5.const对象的动态分配和回收:
const int *pci=new const int(1024);
delete pci
6.强制类型转换:
一般形式 cast-name<type>(expression)
(1).dynamic_cast:支持运行时识别指针或者引用所指的对象。
(2).const_cast:转换掉表达式的const性质
(3).static_cast:编译器任何隐式执行的类型转换都可以用此来显示完成
(4).reinterpret_cast:为操作数的位模式提供较低层次的重新解释,依赖于机器,要阅读编译器细节
posted on 2014-06-10 22:28 vincent_SK 阅读(128) 评论(0) 编辑 收藏 举报