Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
在聚合初始化期间,是否定义了从后来的成员表达式引用早期成员的行为?
考虑以下 struct mystruct int i int j int main int argc char argv mystruct foo 45 foo i std cout lt lt foo i lt lt lt lt foo
c
C11
languagelawyer
c14
undefinedbehavior
参数数量在编译时确定的 Lambda 函数
我想声明一个带有 N 个参数的 lambda 函数 其中 N 是模板参数 就像是 template
c
templates
C11
Lambda
c14
变量模板和 std::cout -- 构造顺序
看起来我们可以安全地使用std cout具有静态存储持续时间的对象构造函数中的对象 如此处所述question https stackoverflow com questions 8784892 is stdcout guaranteed
c
C11
c14
C17
是否有自动 noexcept 说明符?
我听说过noexcept关键字更像是 它永远不应该抛出异常 而不是 它不抛出异常 我觉得不好用noexcept关键字 如果我不确定它是否引发异常 但是noexcept关键字有时与性能相关 例如在移动构造函数中 所以我尝试使用noexcept
c
C11
c14
noexcept
C++并行std::sort用于浮点值
我有一个包含数百万个浮点值的大文件 我可以使用轻松对它们进行排序std sort通过将文件读入vector现在 例如 std vector
c
Multithreading
Sorting
c14
C17
使用 void_t 进行成员检测
对于 C 14 中的成员检测 我使用了基于示例的代码here http en cppreference com w cpp types void t 但它似乎不起作用 一个完整的例子 include
c
c14
如何存储指向将 Callable 对象作为其参数之一的函数模板的指针
考虑以下示例 template
c
c14
为什么在其他函数内部声明的函数不参与参数相关查找?
考虑一个简单的例子 template
c
templates
c14
languagelawyer
argumentdependentlookup
使用智能指针在大型对象集合中创建多个索引
我正在为一个大型对象集合创建多个索引 即使用不同的键 对象可以改变 集合可以缩小和增长 到目前为止我的想法 保留某种指向对象的指针的多个集合 使用set代替map以获得更好的封装 使用 unordered set 可以很好地扩展大型数据集
c
C11
c14
通用 lambda 的数量
可以通过访问非泛型 lambda 的数量来推断其数量operator template
c
c14
genericlambda
为什么我不能在 C++14 中将 std::unique_ptr 移动到 lambda 内?
我想在 lambda 内部传递一个原始指针 但如果未调用 lambda 我不希望它被泄漏 它看起来像这样 void Clean std unique ptr
c
Lambda
c14
movesemantics
C++14 lambda 的默认参数类型推导取决于前面的参数
这对于 C 14 无效吗 auto f auto x auto y std decay t
c
Lambda
c14
languagelawyer
defaultparameters
C 和 C++ 中 arr[i] = i++ 和 i = i + 1 语句的行为
在 C 和 C 语言中 arr i i 语句调用未定义的行为 为什么声明i i 1 不调用未定义的行为 Since this was originally tagged with c questions tagged c and c que
c
c14
undefinedbehavior
sequencepoints
显式移动构造函数
尝试编译以下代码 struct Foo explicit Foo void explicit Foo Foo rhs Foo bar void return Foo 出现以下错误 调用 Foo 的隐式删除复制构造函数 嗯 很明显复制者被隐式
c
C11
constructor
moveconstructor
c14
使用 std::array 作为 boost::spirit::x3 的属性
我正在尝试将数字列表解析为固定大小std array使用 boost spirit 最新版本 x3 的容器 包含在 boost 1 54 中 自从std array具有必要的功能 它被检测为容器 但它缺少插入功能 这使得它不兼容 这是我想要
c
c14
boostspirit
stdarray
boostspiritx3
如何创建一个类,在不预先指定可能函数列表的情况下,对对象进行类型擦除,直到对它们调用函数为止?
背景 标题可能听起来很混乱 所以让我解释一下 首先 这里有一个我的实现的最小版本 http coliru stacked crooked com a 23efb9aa3f59bb9e 这样您就可以更轻松地理解这些概念 如果您看过 Sean
c
polymorphism
c14
typeerasure
MinGW64 和 MSVC 上的函数解析结果不同
template
c
visualc
c14
languagelawyer
MinGW
C++11 中 std::array 大小为零是否有原因?
考虑以下代码 C 11 编译器完全可以接受它 include
c
Arrays
C11
c14
stdarray
有没有办法为向量采用内存资源?
我已经开始在我的项目中使用 pmr allocators 并且我已经看到使用它们带来了很多性能提升和优势 我使用的分配器与我在下面的简单示例中展示的非常相似 include
c
boost
c14
C17
allocator
可以轻易移动,但不可轻易复制
是否可以创建类类型 即 普通移动构造 但不是普通复制构造 但仍然可复制构造 普通复制构造 但不是普通移动构造 但仍然可移动构造 可以简单地复制分配 但不能简单地移动分配 但仍然可以移动分配 可以简单地移动分配 但不能简单地复制分配 但仍然可
c
C11
c14
typetraits
1
2
3
4
5
6
...21
»