欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Effective C++ 条款26 尽可能延后变量定义式的出现时间

程序员文章站 2022-07-15 12:40:00
...

1. 如果变量定义得过早,那么如果在变量定义后被用到之前出现异常,变量未被用到,但仍然要承担构造和析构成本,此外变量用时再定义也便于查找变量,增加代码可读性.

2. 对于循环,除非赋值成本比构造和析构成本低且程序对效率高度敏感,将变量定义放在循环内部可以限制变量作用域,增强程序的可理解性和易维护性.

//
//  main.cpp
//  条款26:尽可能延后变量定义式的出现时间
//
//  Created by 于磊 on 2018/7/22.
//  Copyright © 2018 于磊. All rights reserved.
//

#include <iostream>
#include <string>
int main(int argc, const char * argv[]) {
    std::string encrypt;
    for (int i = 0; i<10; ++i) {
        encrypt = "iii";
    }
    //以上1个构造1个析构 n次赋值
    for (int j = 0; j<10; ++j) {
        std::string encrypted("jjj");
    }
    //以上n个构造和析构
    //具体情况看赋值成本与构造析构成本大小
    return 0;
}