kva*_*nck 4 c++ decltype c++11
当事情发生变化时,我希望减少我必须对代码进行的维护.
在某个头文件中,我有一些长而且有点像这样的冗长:
extern std::map<event_t, std::multimap<real_t, event>> event_schedule;
Run Code Online (Sandbox Code Playgroud)
然后,在cpp文件中,我认为实际声明它会更容易;
decltype(event_schedule) event_schedule;
Run Code Online (Sandbox Code Playgroud)
有什么理由不去吗?
不,没有理由不这样做.
唯一可以反对的论点是"你看不到类型".这个论点已经提出了auto很多,并且从未真正设法"引起注意".您通常关心的是您可以使用该类型执行的操作,而不是实际的类型实际名称的闪亮程度.