草庐IT

0x80072F8F

全部标签

c++ - 如何在 C++11 constexpr 中检查 double 的位模式是 0x0?

我想检查给定的double/浮点变量是否具有实际位模式0x0。不要问为什么,它用在Qt中的一个函数中(qIsNull()),我希望它是constexpr。原始代码使用了union:union{doubled;int64_ti;}u;u.d=d;returnu.i==0;这当然不能用作constexpr。下一次尝试使用reinterpret_cast:return*reinterpret_cast(&d)==0;但是虽然它在GCC4.7中作为constexpr工作,但它在Clang3.1中失败了(正确地,指针操作的b/c)。最后的想法是去Alexandrescuesque做这个:temp

c++ - 链接到 opencv 的奇怪链接器错误... "LNK1107: invalid or corrupt file: cannot read at 0x2E8"

这个OpenCV构建在几天前对我有用。我正在尝试运行随OpenCV示例给出的示例grabcut.cpp文件,因此我设置了一个快速项目并引入了cpp文件。然后,我设置了所有标准配置并在构建时出现此错误。errorLNK1107:invalidorcorruptfile:cannotreadat0x2E8opencv_calib3d231.dll这是什么意思? 最佳答案 如果我不得不猜测(部分基于thedocumentationofthaterror),我会说您正在尝试直接链接到DLL。您可能想要链接到其相应的.lib文件。

微软商店“提示无法加载页面。请稍后重试“--错误代码0x80131500的解决方法合集(总有一条适合你)

微软商店错误代码0x80131500解决思路:方法一:可能是由于http协议设置的问题导致的。您可以尝试以下方法来解决这个问题:1.用"win+R"打开运行,输入inetcpl.cpl 打开Internet属性(或从IE浏览器设置打开)。2.点击高级选项,找到并勾选TLS1.2,取消勾选TLS1.0。3.点击确定,现在应用商店应该可以打开了。方法二:重置WIN10网络设置。具体步骤如下:按“Win+X”,启动“WindowsPowerShell(管理员)”,输入以下命令:netshwinsockreset。按下回车键,执行完成后,提示我们重启,按提示重启一下win10系统即可!方法三:控制面板

c++ - C++0x 中 char 和 Unicode 的符号

从C++0x工作草案开始,用于处理Unicode的新字符类型(char16_t和char32_t)将是无符号的(uint_least16_tuint_least32_t将是基础类型)。但据我所知(也许不是很远)没有定义类型char8_t(基于uint_least8_t)。为什么?当您看到为UTF-8字符串文字引入了新的u8编码前缀时,它更加令人困惑......基于老friend(有符号/无符号)char.为什么?更新:有人提议添加一个新类型:char8_tchar8_t:UTF-8字符和字符串的类型(修订版1)http://www.open-std.org/jtc1/sc22/wg21

C++0x 可变参数包 : Syntax

以下代码片段在gcc4.6.1下无法编译:templatevoiddo_stuff(TS...ts){autof=[](TS...things){};}它会抛出一个错误,说明packthings没有展开。但是,以下代码确实可以编译:templatevoiddo_stuff(TS...ts){autof=[](TS...things...){};}注意参数列表中的内容之后的额外解包运算符。我从未见过在声明期间必须扩展可变参数包的情况。所以我想问你们好心人的问题是:这是合法的C++0x语法(编译的片段)还是GCC在处理可变类型时的一个怪癖? 最佳答案

C++0x 静态初始化和线程安全

我知道在C++03标准中,函数范围的静态初始化不保证是线程安全的:voidmoo(){staticstd::stringcat("argent");//notthreadsafe...}随着C++0x标准最终提供标准线程支持,函数范围的静态初始化是否需要线程安全? 最佳答案 似乎初始化是线程安全的,因为在进入函数时动态初始化对象的情况下,它保证在临界区执行:§6.7stmt.decl4。...这样的对象在控件第一次通过其声明时被初始化...如果控件在初始化对象时并发进入声明,则并发执行应等待初始化完成.../p>有一个潜在的边缘情况

c++ - 如何处理 C++0x STL 中丢失的 'emplace_range'?

我有两个容器,假设它们是这样定义的:std::vector>a;std::vector>b;假设a和b都被填充了。我想使用move语义将整个容器a插入到b中的特定位置,以便unique_ptrmove到b。假设i是指向b中某处的有效迭代器。以下不起作用:b.insert(i,a.begin(),a.end());//error:triestocopy,notmove,unique_ptrs是否有另一种STL算法可以实现这种“move插入范围”?我想我需要一种emplace_range,但VS2010的STL中没有。我不想编写一个一个一个插入的循环,因为每次插入时都会向上movevect

c++ - 如何在 c++(0x) 中使用多个返回值进行初始化

tuple在boost和TR1/c++0x中提供了一种方便的(对于函数的编写者)从函数返回两个值的方法——但是它似乎损害了调用者语言的一个主要特性:简单使用的能力初始化变量的函数:Thappy();constautomeaningful_name(happy());//RVOmeansnoexcesscopies但对于:tuplesad();我们要么放弃为我们的返回值选择一个有意义的名称的能力,并使用get()无处不在:constautotwo_unrelated_things(sad());或者做一个临时的:constautounwanted_named_temporary(sad(

c++0x标准库引用手册

多年来,我一直在使用C++编写代码,最近听说C++标准即将发布新修订版。我研究了标准草案,发现有很多新东西可以使我的编程更容易。所以我想在新标准出来之前习惯它。但是,如果没有像样的引用手册,就很难使用新的标准库进行编码。我用谷歌搜索,只找到了一些页面,例如Wikipedia'sC++0xpage不是引用手册。有人知道任何C++0x标准库引用手册吗?我正在寻找类似于MSDN的StandardC++LibraryReference的东西. 最佳答案 在wiki-basedcppreference.com上获得C++0x的新特性方面取得了

C++0x 智能指针比较 : Inconsistent, 原理是什么?

在C++0x(n3126)中,可以比较智能指针,无论是关系还是相等。但是,这样做的方式对我来说似乎不一致。例如,shared_ptr定义operator相当于:templatebooloperator&a,constshared_ptr&b){returnstd::less()(a.get(),b.get());}使用std::less提供关于指针值的总排序,这与未指定的Vanilla关系指针比较不同。然而,unique_ptr将相同的运算符定义为:templatebooloperator&a,constunique_ptr&b){returna.get()它还以类似的方式定义了其他关