C++菜鸟常见错误整理(第五天)

   本人目前还是学生,能力有限,有不足或者错误的地方欢迎大家指正,谢谢大家!

1、动态分配

    的内存最后必须进行释放,否则,内存最终将会逐渐耗尽,释放指针所指向的数组空间:delete [] pia;

2、使用数组初始化vector 对象

    const size_t arr_size = 6;int int_arr[arr_size] = {0, 1, 2, 3, 4, 5};vector<int> ivec(int_arr + 1, int_arr + 4);这个初始化创建了含有三个元素的 ivec,三个元素的值分别是

int_arr[1] 到int_arr[3] 的副本。

3、程序简单化

     int i = get_value();

     while (i != 42) {    // do something ... 

     i = get_value(); }

    首先,程序将所获得的第一个值存储在 i 中,然后建立循环检查i 的值是否为 42,如果不是,则做某些处理。循环中的最后一条语句调用 get_value() 返回一个值,然后继续

循环。该循环可更简洁地写为:int i;   while ((i = get_value()) != 42) {  // do something ...}

4、vector 对象的赋值

    vector<int> ivec; // empty vector

    int cnt = 10;  // add elements 10...1 to ivec 

    while (cnt > 0)

    ivec.push_back(cnt--); // int postfix decrement

    这段程序使用了后置的 -- 操作实现 cnt 减 1。我们希望把 cnt 的值赋给vector 对象的下一个元素,然后在下次迭代前 cnt 的值减 1。如果在循环中使用前置操作,则是用

cnt 减 1 后的值创建 ivec 的新元素,结果是将 9 至 0十个元素依次添加到 ivec 中。

 

今天就到这里,有不足的地方还请指正,谢谢大家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值