ML.*_*ML. 5 c++ compiler-construction optimization performance
有没有人有C++内存优化指南的资源?最佳实践,调整等?
举个例子:
Class xxx {
public:
xxx();
virtual ~xxx();
protected:
private:
};
Run Code Online (Sandbox Code Playgroud)
编译器或内存分配是否有任何好处,以摆脱受保护和私有,因为在这个类中没有受保护和私有的项目?
更新:什么是程序员这样做:
Class xxx {
public:
xxx();
virtual ~xxx();
public:
more stuff();
more();
ifndef __BUILD_WIN__
public:
even more();
envenmore2();
endif
protected:
private:
};
Run Code Online (Sandbox Code Playgroud)
Bru*_*ant 12
有没有人有C++内存优化指南的资源?最佳实践,调整等?
这在很大程度上取决于您的编译器和目标环境(RISC,Unix/Linux,Windows).大多数编译器都会有这样的信息.
有一些实用程序可以跟踪内存泄漏,以便您可以在测试期间修复它们.如果要动态分配很多东西(通常是C/C++的情况),请尝试确保在销毁对象之前解除所有内容.去做这个:
std::string动态分配char*等编译器或内存分配是否有任何好处,以摆脱受保护和私有,因为在这个类中没有受保护和私有的项目?
不,如果我没有弄错,仅在编译期间检查protected/private,因此即使关键字下面有项目,它们也不会影响性能.
此外,重要的是要理解编译器非常智能(通常比程序员更多),因此它会优化掉任何可能的东西; 例如,让我们int a在构造函数中声明一个变量.让我们说你根本不使用它,你只是忘了那里.大多数编译器甚至不会将堆栈空间保存到这些变量中.其他人需要用户激活优化才能发生这种情况,但根据经验,任何程序的生产版本都应该在启用优化的情况下编译,即使没有完整.
关于更新,您看到的是预处理器指令,并用于执行所谓的选择性编译.看看这里.
| 归档时间: |
|
| 查看次数: |
9376 次 |
| 最近记录: |