可能重复:
c ++ 11中的自动引用
我学习C++越多,我越了解到目前为止(差不多;见下文)其中的一切基本上都是有道理的.我发现我并不是真的需要学习任何规则,因为一切都像预期的那样.因此,最重要的是要真正理解这些概念,然后其余的事情就会照顾好自己.
例如:
const int ci = 0;
auto &a = ci; //automatically made const (const int &)
Run Code Online (Sandbox Code Playgroud)
这有效并且有意义.任何其他类型的东西a都是荒谬的.
但现在就拿这些:
auto &b = 42; //error -- does not automatically become const (const int)
const auto &c = 42; //fine, but we have to manually type const
Run Code Online (Sandbox Code Playgroud)
为什么第一个错误?为什么编译器不会自动检测到这个?为什么const必须手动输入?我想要从根本上理解为什么事情有意义,而不必刻意学习任何严格的规则(见上文).
| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |