【发布时间】:2013-12-30 03:41:24
【问题描述】:
我最近开始熟悉 C++11,auto 关键字很棒!打字:
for (auto bar : bars) {
真是太满足了。保持代码的可读性和美观性。仍然感觉它会阻止你所有的动力是:
foo.insert(std::pair<std::string, bar>("soVerbose", baz));
// As opposed to simply:
foo.insert("soVerbose", baz);
它是这样的有充分的理由吗?是否有一些巧妙的方法可以让它不那么冗长?我知道[] 运算符可用于将元素插入地图,但功能略有不同。
【问题讨论】:
-
你可以
typedef std::pair<std::string, bar> tDataPair;让代码更易读,就像foo.insert(tDataPair("soVerbose", baz)); -
我同意
auto可以不负责任地使用,但我不认为使用它来避免为可以很容易推断。 -
@EdHeal:使用 C++ 告诉我,开发人员根本没有考虑汇编。我没有看到问题。
-
反正你写的是
foo.insert(std::make_pair("soVerbose", baz));。
标签: c++ c++11 verbosity code-formatting