草庐IT

0x00000bc4

全部标签

c++ - 使用 C++0x : call to deleted constructor of 时的 clang++ 错误消息

您好,我已经将我的Xcode升级到4.2版,并将clang++升级到以下版本:Appleclangversion3.0(tags/Apple/clang-211.10.1)(basedonLLVM3.0svn)Target:x86_64-apple-darwin11.2.0Threadmodel:posix当尝试使用clang-std=c++0x编译以下代码时#include#include#includeclassilpConstraintImpl{public:virtual~ilpConstraintImpl(){}};classilpConstraint{public:ilpC

c++ - 当您想试验 C++0x 特性时,最好使用什么编译器?

试验C++0x特性的最佳编译器是什么?我一直在试验GNUg++4.4。 最佳答案 绝对是GCC主干。ConceptGCC遗漏了GCCtrunk的许多功能。不过,它目前正被合并到GCC中。它具有所有这些功能,包括新的auto类型的变量(虽然还没有新的函数声明语法):http://gcc.gnu.org/projects/cxx0x.html.有一个包含部分lambda支持的GCC分支,它还包含其他C++0x特性。我建议您也尝试一下。它在#geordiatirc.freenode.org上使用,您可以在那里进行试验。

C++0x 元组没有迭代器,对吗?

查看标准N3291我没有找到任何关于tuple的引用资料支持begin()和end().但是,当我查看多年前的笔记时,我似乎记下了我需要稍后再研究的内容。我们到了。我找不到任何tuple.begin()的痕迹或tuple.end()在当前的C++0x标准中,这是正确的吗?不可能将元组及其迭代器传递给算法,for也不能。-遍历它,对吧?tupleval;for(autoa:val)cerr这当然是废话,因为应该auto是吗?我需要确认我的笔记包含错误,并且无法获取元组元素的那些迭代器。或者在标准讨论中可能有一条被遗弃的路径?注意:我知道可以使用TMP或VariadicTemplates来

c++ - valgrind:地址 0x5111715 处无法识别的指令

我有一个看起来像这样的函数-std::stringfunc(){std::stringresult;...autoseed=std::random_device()();std::mt19937gen(seed);std::uniform_int_distributiondis(0,61);...returnresult;}它可以在各种编译器及其版本中正常编译,但仍无法通过Ubuntu上的valgrind测试。我明确提到了ubuntu,因为它在我安装了ArchLinux的机器上成功通过。两个valgrind安装报告它们的版本为valgrind-3.11.0唯一的区别是ArchLinux

c++ - 为什么 C++0x 中的 Lambda 函数返回类型必须是自动的?

我是C++的新手。我只是尝试一些小代码片段来理解使用GCC4.6.3和-std=c++0x编译的lambda函数。.我知道它不是C++0x的最佳选择,但它支持lambda表达式。我写了这个:intmain(){intval1=0,val2=0;std::cout>val1;std::cout>val2;autoresult=[&val1,&val2](){return(val1+val2);};std::cout我的第一个问题是为什么我必须定义result作为auto当我已经知道预期(隐式)结果将是int?在注释的代码行中,我收到错误error:cannotbind‘std::basi

c++ - C/C++ : 1. 00000 <= 1.0f = 假

谁能解释为什么1.000000代码:#include#includeusingnamespacestd;intmain(intargc,char**argv){floatstep=1.0f/10;floatt;for(t=0;t结果:t=0.000000t=0(t 最佳答案 正如评论中正确指出的那样,t的值实际上与您在下面的行中定义的1.00000不同。使用std::setprecision(20)以更高的精度打印t将显示其实际值:1.0000001192092895508。避免此类问题的常用方法是不与1进行比较,而是与1+epsi

c++ - C++0x什么时候发布?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicates:C++0Xwhen?WhenwillC++0xbefinished?什么时候C++0x被发布?这里有人知道吗?

c++ - 显式覆盖和最终的 c++0x

根据Wikipedia,在这个例子中:structBase{virtualvoidsome_func(float);};structDerived:Base{virtualvoidsome_func(float)override;};我认为override不是C++关键字,那么它到底是什么意思呢?我们可以在没有该关键字的情况下实现同样的事情,那么为什么有人需要它呢?还有关键字final还不能在VS2010上工作:structBase1final{};structDerived1:Base1{};//ill-formedbecausetheclassBase1//hasbeenmarke

c++ - 关于C++0x引用崩溃的问题

我不知道为什么这些代码无法编译。我已经在Visualc++2010和gcc中使用-std=c++0x进行了测试。有人给点建议吗?谢谢!templateclassFoo{public:voidtest(constT&){coutf;}编译错误:'voidFoo::test(T)':成员函数已经定义或声明但是为什么这个可以编译呢?templatevoidfoo(constT&){coutvoidfoo(T&){cout(a);}我读过c++0x文章说:T&&==T&,所以constT&&==constT&? 最佳答案 i'vreadc+

c++ - 你开始使用 C++0x 了吗?

大多数编译器alreadysupportC++0x.你开始使用C++0x还是在等待x的定义?我必须对我的代码进行一些重构;我应该开始使用新功能吗? 最佳答案 C++0x还不是一个完整的标准。在发布国际公认标准之前,很可能会有许多修订。所以这完全取决于,您编写代码的目的是什么?如果它是为了工作任务,我会坚持使用常规C++,等待标准被设定,并给编程社区调整所需的时间。不要重构你真正需要实现的代码,它可能会给你带来很多麻烦。不过,我认为C++0x非常适合使用,而且当0x被全局接受时,熟悉其语法也无妨。