草庐IT

static-libstdc

全部标签

c++ - 如何将static_assert与sizeof和stringify结合起来?

内存使用在我的应用程序中非常重要。因此,我有特定的断言,在编译时检查内存大小,如果大小与我们之前认为正确的大小不同,则给出static_assert。我已经定义了一个这样的宏:#defineCHECKMEM(mytype,size)static_assert((sizeof(objectType)==size)),"Sizeincorrectfor"#mytype"!");这个宏可以很容易地写出来:CHECKMEM(Book,144);CHECKMEM(Library,80);问题在于,当这个static_assert关闭时,可能很难找出新的大小应该是多少(例如,通过使用隐藏的编译器选

c++ - gcc4.9.2的std::vector的libstdc++实现继承自_Vector_base(非虚拟析构函数)。为什么这样可以?

Thisquestionalreadyhasanswershere:Thoushaltnotinheritfromstd::vector(13个回答)6年前关闭。所以一段时间以来,我一直在使用从std::vector派生的容器。也许由于几个原因,这是一个糟糕的设计决策,并且在此处广泛讨论了是否应该这样做的问题:Thoushaltnotinheritfromstd::vectorSubclass/inheritstandardcontainers?IsthereanyrealrisktoderivingfromtheC++STLcontainers?Isitokaytoinheritim

c++ - gcc4.9.2的std::vector的libstdc++实现继承自_Vector_base(非虚拟析构函数)。为什么这样可以?

Thisquestionalreadyhasanswershere:Thoushaltnotinheritfromstd::vector(13个回答)6年前关闭。所以一段时间以来,我一直在使用从std::vector派生的容器。也许由于几个原因,这是一个糟糕的设计决策,并且在此处广泛讨论了是否应该这样做的问题:Thoushaltnotinheritfromstd::vectorSubclass/inheritstandardcontainers?IsthereanyrealrisktoderivingfromtheC++STLcontainers?Isitokaytoinheritim

c++ - `pair::operator=(pair&&)` 错误与 `auto&` 推断 move 操作 - libstdc++ 回归?

鉴于这个程序:structVal{Val()=default;Val(Val&&)=default;auto&operator=(Val&&);};/*PLACEHOLDER*/auto&Val::operator=(Val&&){return*this;}替换/*PLACEHOLDER*/与...intmain(){std::vector>v;v.emplace(std::begin(v),0,Val{});}...编译成功:g++6.2.0g++6.3.0g++7.0.1(主干)clang++3.9.1clang++5.0.0(HEAD)onwandbox替换/*PLACEHOLD

c++ - `pair::operator=(pair&&)` 错误与 `auto&` 推断 move 操作 - libstdc++ 回归?

鉴于这个程序:structVal{Val()=default;Val(Val&&)=default;auto&operator=(Val&&);};/*PLACEHOLDER*/auto&Val::operator=(Val&&){return*this;}替换/*PLACEHOLDER*/与...intmain(){std::vector>v;v.emplace(std::begin(v),0,Val{});}...编译成功:g++6.2.0g++6.3.0g++7.0.1(主干)clang++3.9.1clang++5.0.0(HEAD)onwandbox替换/*PLACEHOLD

为什么express.static与app.use一起工作,但不使用app.get

在我的server.ts文件中app.get('/example',express.static('somefolder'));给我404,而app.use('/example',express.static('somefolder'));正确地为“someFolder”的“index.html”服务作为对“myhost/示例”请求的响应。根据明确的文档,在获取请求的情况下,这些应完全相同。为什么一个工作和另一个工作不做?看答案这两种方法在方式上有所不同(其他事项)req.path被人群:为了app.get('/example'),设置为/example/为了app.use('/example

c++ - 为什么 C++11 中没有 `static_if`

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。我想知道为什么像static_if这样自然的东西没有设法进入C++11?有些人反对使用继承或模板特化我们可以实现所需的结果但是:为什么我们没有一个简单的static_if来应对不想让源代码膨胀的简单情况? 最佳答案 我想委员会没有时间讨论这个特性,所以他们决定在C++11之后推迟它。无论如何建议在这

c++ - 为什么 C++11 中没有 `static_if`

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。我想知道为什么像static_if这样自然的东西没有设法进入C++11?有些人反对使用继承或模板特化我们可以实现所需的结果但是:为什么我们没有一个简单的static_if来应对不想让源代码膨胀的简单情况? 最佳答案 我想委员会没有时间讨论这个特性,所以他们决定在C++11之后推迟它。无论如何建议在这

c++ - g++/libstdc++中std::optional的实现状态?

由于我正在开发一个将于2014年左右公开发布的C++库,因此我目前需要做出设计选择。将与C++14一起发布的非常有用的工具之一是std::optional。我想知道g++/libstdc++的版本我可以使用-std=c++1y。 最佳答案 更新(2016年10月):std::optional不在最终的C++14标准中,因此它永远不会与-std=c++1y一起使用.相反,GCC4.9包含std::experimental::optional可用-std=c++1y.GCC7将包括std::optional与-std=c++1z即C++

c++ - g++/libstdc++中std::optional的实现状态?

由于我正在开发一个将于2014年左右公开发布的C++库,因此我目前需要做出设计选择。将与C++14一起发布的非常有用的工具之一是std::optional。我想知道g++/libstdc++的版本我可以使用-std=c++1y。 最佳答案 更新(2016年10月):std::optional不在最终的C++14标准中,因此它永远不会与-std=c++1y一起使用.相反,GCC4.9包含std::experimental::optional可用-std=c++1y.GCC7将包括std::optional与-std=c++1z即C++