表达式

本文介绍了C++中自增自减操作符的区别、箭头操作符的使用、string指针的vector管理、sizeof操作符的功能及const对象的动态分配与回收等高级主题,并探讨了不同类型的强制类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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:为操作数的位模式提供较低层次的重新解释,依赖于机器,要阅读编译器细节

 

 

 

 

 

转载于:https://www.cnblogs.com/fandaojian/p/3780874.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值