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;
}