随着大量现代 C++ 创新发生在
std
命名空间中,在代码中 std::
限定符出现得越来越频繁。虽然这样做确实有好处,但代码确实变得更长、更冗长、可读性更差,并且需要更多的打字。我还觉得(但这是主观的)这有点违背简洁的理想,不陈述明显的内容,也不重复自己。 (至于“显而易见的”位,我知道对于编译器来说没有什么是显而易见的,因此需要用 std::
来解释自己,但“高级语言”中的“高级”并不意味着在计算机理解程序员的意思?)那么我能做什么呢?我明白为什么 using namespace std;
不是一个选择。 using
声明(例如using std::vector;
)确实解决了问题——你对它们的使用有什么建议吗?我还缺少什么吗?也许使用一个头文件进行项目范围的 using
声明或您想出的类似解决方案。
如果除了实用方面之外,您对
std::
的使用哲学有一般性的想法或见解,欢迎您分享。 (我担心有一天我们会被迫写下std::for (std::int i = std:0...)
,不是吗?)
// In your source file:
#include <vector> // Include only necessary headers
using String = std::string; // Alias for readability
int main() {
String name = "Alice";
std::vector<int> numbers = {1, 2, 3}; // Use std:: prefix when needed
// ...
}