相关疑难解决方法(0)

在C++中使用"const"的数量是多少?

作为一名新手C++程序员,有些结构对我来说仍然非常模糊,其中之一就是const.你可以在很多地方使用它,并且有很多不同的效果,初学者几乎不可能活着出来.一些C++专家会永远解释各种用途以及是否和/或为什么不使用它们?

c++ const

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

内联仍然有用吗?

我相信,inline已经过时,因为我在这里读到:

无论你如何指定一个函数inline,它都是一个允许编译器忽略的请求:编译器可能内联扩展一些,全部或没有你调用指定函数的地方inline.

然而,Angew似乎理解我不知道的事情.在这个问题中他和我来回走了很多,关于是否inline仍然有用.

这个问题不是一个问题:

请记住,编译器可以随意使用inline,因此inline在那里没有用处:可以inline用来强制而不是建议编译代码的更改?

c++ methods inline function deprecated

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

为什么常量值可能在运行时计算而不是由编译器计算?

我正在阅读 Bjarne 的A Tour of C++ ,他在第1.6 节 Constants中有这个例子。

constexpr int dmv = 17; // dmv is a named constant
int var = 17; // var is not a constant
const double sqv = sqrt(var); // sqv is a named constant, possibly computed at run time
Run Code Online (Sandbox Code Playgroud)

我的问题与他对最后一行的评论有关

...可能在运行时计算

从代码来看,值var,数字文字17不会在代码中的任何地方改变。为什么编译器不在编译时评估它?

我在查看时看到了这个问题的答案const,它用于语义,对于程序员而不是编译器来说更有意义。但我的主要问题是:

编译器可以不对此进行优化吗?如果不是,是因为要求编译器进行优化的要求太多了吗?

编辑:我想优化的编译器部分是计算,sqv因为var程序中的任何地方都没有改变。

c++

1
推荐指数
1
解决办法
124
查看次数

标签 统计

c++ ×3

const ×1

deprecated ×1

function ×1

inline ×1

methods ×1