在泛型编程中使用 placement new
作者:L. F. 提问时间:8/18/2019
在泛型代码中使用 placement new 在指定地址构造对象时,使用模式与通常的代码略有不同。例如,请考虑以下实现:([uninitialized.copy]uninitialized_copy)...
语言-律师 问答列表
作者:L. F. 提问时间:8/18/2019
在泛型代码中使用 placement new 在指定地址构造对象时,使用模式与通常的代码略有不同。例如,请考虑以下实现:([uninitialized.copy]uninitialized_copy)...
作者:darune 提问时间:11/22/2019
假设我想制作一个新的扣除指南,使以下情况成为可能? std::string str; std::basic_string_view sv = str; 那会是 Ok 定制吗?...
作者:Luchian Grigore 提问时间:7/7/2012
我的印象是访问最后一个集合以外的成员是 UB,但我似乎找不到可靠的参考(除了声称它是 UB 但没有标准支持的任何答案)。union 那么,这是未定义的行为吗?...
作者:einpoklum 提问时间:8/7/2020
(我正在寻找一两个例子来证明这一点,而不是一个列表。 C++ 标准的更改(例如,从 98 到 11、11 到 14 等)是否曾经以静默方式改变了现有的、格式良好的、定义行为的用户代码的行为?即在使用...
作者:skypjack 提问时间:4/9/2021
出于某些原因,我一直认为演绎指南必须与它们所引用的构造函数具有相同的 -ness。例如:noexcept template<typename T> struct clazz { clazz(con...
作者:Vittorio Romeo 提问时间:1/11/2022
请考虑以下代码: template <typename B> struct D : B { }; D d{[]{ }}; GCC 12.x 接受它并推断出符合预期。dD</* type of ...
作者:Darius 提问时间:2/28/2022
这个问题在这里已经有答案了: 从一个命名空间内调用多个命名空间中重载的函数 (3 个答案) 去年关闭。 namespace A { int overloaded_f(float some_float...
作者:yeputons 提问时间:8/9/2023
在 C++ 中有一个臭名昭著的自赋值问题:在实现时,必须小心在从 复制数据之前不要破坏数据的情况。operator=(const T &other)this == &otherthisother 然...
作者:ridiculous_fish 提问时间:7/11/2022
我想将 nul 终止的字符串与字符串文字进行比较。我希望使用并好奇此代码是否根据 C++ 标准定义良好:std::equal #include <algorithm> bool is_foo(co...
作者:Enlico 提问时间:8/26/2022
(你可能会把这个问题看作是这个问题的重复,但是,老实说,我还没有真正理解这个问题,所以我用我自己的措辞单独问。 [over.load]/1 显示: 并非所有函数声明都可以重载。此处指定了那些不能超...