jjzjj

GoingNative

全部标签

c++ - 如果 switch case 失败,我如何让 MSVC 发出警告或失败?

如果我的一个switch语句有一个不中断的情况,我想得到一个警告/错误。这可能吗?switch(i){case1:cout在goingnative2012session上讨论了类似的Clang功能,但我需要它用于MSVC2013http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Clang-Defending-C-from-Murphy-s-Million-Monkeys理想情况下,当两个连续的主体没有被中断分开时,我会想要一个警告,这样上面的例子就会失败,但这不会:switch(i){case1:cout

c++ - 应该弃用 std::list 吗?

根据BjarneStroustrup的slides来自他的GoingNative2012keynote,std::list中的插入和删除在现代硬件上效率极低:Vectorbeatslistmassivelyforinsertionanddeletion如果确实如此,std::list还剩下哪些用例?那么它不应该被弃用吗? 最佳答案 vector和列表解决不同的问题。List保证迭代器在您插入和删除其他元素时永远不会失效。Vector不提供这种保证。这不仅仅与性能有关。所以答案是否定的。不应弃用列表。编辑除此之外,C++并不是专门为“

c++ - GoingNative2012看到的operator""是什么

我最近看了GoingNative2012,当然还有C++11。在BjarneStroustrup部分,我发现有一个有趣的运算符函数,如下所示。constexprValueoperator""s(longdoubled){returnValue(d);}好吧,除了看起来像是C++11中的新关键字的constexpr之外,我从来不知道""可以重载?尽管我使用VS2010测试失败,但这是C++中的新功能之一吗?提前致谢。 最佳答案 这是一个新的C++11核心语言功能:userdefinedlitterals

c++ - 我们应该通过引用还是按值传递 shared_ptr ?

当函数采用shared_ptr(来自boost或C++11STL),你通过了吗:通过const引用:voidfoo(constshared_ptr&p)或按值:voidfoo(shared_ptrp)?我更喜欢第一种方法,因为我怀疑它会更快。但这真的值得吗?还是有其他问题?能否请您说明您选择的原因,或者如果是,您认为这无关紧要的原因。 最佳答案 Scott、Andrei和Herb在AskUsAnything期间讨论并回答了这个问题。sessionC++andBeyond2011.观看从4:34onshared_ptrperforma

c++ - 我们应该通过引用还是按值传递 shared_ptr ?

当函数采用shared_ptr(来自boost或C++11STL),你通过了吗:通过const引用:voidfoo(constshared_ptr&p)或按值:voidfoo(shared_ptrp)?我更喜欢第一种方法,因为我怀疑它会更快。但这真的值得吗?还是有其他问题?能否请您说明您选择的原因,或者如果是,您认为这无关紧要的原因。 最佳答案 Scott、Andrei和Herb在AskUsAnything期间讨论并回答了这个问题。sessionC++andBeyond2011.观看从4:34onshared_ptrperforma