相关疑难解决方法(0)

为什么预处理器宏是邪恶的,有什么替代方案?

我一直都这么问,但我从来没有得到过一个非常好的答案; 我认为,在写第一个"Hello World"之前,几乎所有程序员都遇到过"宏不应该使用宏","宏是邪恶的"这样的短语等等,我的问题是:为什么?有了新的C++ 11,这么多年后还有一个真正的选择吗?

简单的部分是关于宏#pragma,特定于平台和特定于编译器,并且大多数时候它们具有严重的缺陷,例如#pragma once在至少两种重要情况下容易出错:不同路径中的相同名称以及一些网络设置和文件系统.

但总的来说,宏的用法和替代品呢?

c++ c-preprocessor c++11

85
推荐指数
3
解决办法
4万
查看次数

在C++/STL中是否有一个与Python range()相当的紧凑型

如何使用C++/STL执行以下等效操作?我想填充std::vector一系列值[min,max].

# Python
>>> x = range(0, 10)
>>> x
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

我想我可以使用std::generate_n并提供一个函子来生成序列,但我想知道是否有更简洁的方法使用STL这样做?

c++ python

53
推荐指数
4
解决办法
3万
查看次数

标签 统计

c++ ×2

c++11 ×1

c-preprocessor ×1

python ×1