草庐IT

is_constexpr_copiable

全部标签

C++11 统一初始化 : Field initializer is not constant

我正在尝试像这样实例化一组字符串:classPOI{public:...staticconststd::setTYPES{"restaurant","education","financial","health","culture","other"};...}现在,当我这样做时,我得到了这些错误(全部在这一行):error:fieldinitializerisnotconstantstaticconststd::setTYPES{"restaurant","education","financial","health","culture","other"};error:in-class

c++ - 是否可以在声明后设置 constexpr 数组中元素的值?

是否可以在一处声明一个常量数组(可能是constexpr),然后在另一处定义它,一次定义一个元素?例如externconstexprintmyArray[100];myArray[0]=myConstexprFunction(0);myArray[1]=myConstexprFunction(1);//...myArray[100]=myConstexprFunction(100);我正在尝试做的事情需要这样的东西。也许可以使用类似的东西:http://b.atch.se/posts/constexpr-counter/但是,如果这种技术在下一个C++标准中是非法的(我希望不会),我想

c++ - 如何根据 std::is_same 检查返回不同类型

这个问题在这里已经有了答案:usingstd::is_same,whymyfunctionstillcan'tworkfor2types(4个答案)关闭2年前。考虑以下代码:templateTfoo(){if(std::is_same::value)return5;if(std::is_same::value)returnstd::string("bar");throwstd::exception();}当用foo()调用时,它会抛出一个错误cannotconvert‘std::__cxx11::string{akastd::__cxx11::basic_string}’to‘int’

解决方案:Python中解决“TypeError: Object of type ‘datetime‘ is not JSON serializable”错误

解决方案:Python中解决“TypeError:Objectoftype‘datetime’isnotJSONserializable”错误在Python编程中,经常会使用JSON(JavaScriptObjectNotation)格式来序列化和反序列化数据。然而,当我们尝试将包含datetime对象的数据转换为JSON字符串时,可能会遇到一个常见的错误:“TypeError:Objectoftype‘datetime’isnotJSONserializable”(类型错误:无法将datetime对象转换为JSON可序列化对象)。这个错误的原因是datetime对象不是JSON可序列化的,因

c++ - 为什么 clang++ 报告与 "value stored to ' .. .' during its initialization is never read"的结构化绑定(bind)?

我有以下测试用例:testcase("[room]exits"){auto[center,east,north,south,west]=make_test_rooms();check_eq(center->east(),east);check_eq(center->north(),north);check_eq(center->south(),south);check_eq(center->west(),west+1);}当我编译它时,clang++(clangversion5.0.1(tags/RELEASE_501/final))报告:room.cpp:52:7:note:Valu

C++ 错误 : request for member '...' in 'grmanager' which is of non-class type 'GraphicsManager'

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。我的类GraphicsManager出现错误。图形管理器.cpp:#include"C:\Users\ChrisUzzolina\Desktop\obj\include\GraphicsManager.h"#include#includeGraphicsManager::GraphicsManager(intSCREEN_WIDTH,intSCREEN_

c++ - 玩具垃圾收集 : Is operator new/delete enough?

我正在研究我的一个学习项目(使用C语言),并考虑将其迁移到C++以获得额外的学习点。它的一部分涉及针对特定对象系列的垃圾收集系统,在C中,我通常会使用大型malloc/mmap并使用简单的天真标记和清除(我可以识别引用和类似的东西)已经)。我的问题是我正在考虑将这个想法转移到C++,但我对我对其内存管理方案的理解不够安全。到目前为止,我考虑分配一个大内存池并在基类上重载运算符new和delete以调用我的内存池的抓取/释放函数,然后让垃圾收集器的清理阶段删除它看到的对象。够了吗?我在这里没有看到的隐藏陷阱是什么?编辑:澄清一下,我已经能够计算出分配对象的生命周期,因此无需使用gcabi

c++ - 具有推导的 void 返回类型的 Constexpr 类模板成员函数?

考虑以下简单类X和类模板Y每个定义四个constexpr成员,其中三个推导了它们的返回类型(新的C++1y特性),另外三个成员的另一个子集使用了另一个新的C++1y特性:轻松的constexpr现在也可以有副作用的函数和一个void返回类型。下面是这些功能交互的小实验:#include#includestructX{constexprvoidfun(){}//OKconstexprautogun(){}//OKautohun(){}//OKconstexprautoiun(){return0;}//OK};templatestructY{constexprvoidfun(){}//OK

c++ - constexpr 查找实现

回答后thisquestion和阅读thistalk看着thiscode,我想实现constexprfind只有简单的数组类。考虑以下示例:#includetemplateconstexprautoconstexpr_find(constIt&b,constIt&e,Tvalue){autobegin=b;while(begin!=e){if(*begin==value)break;++begin;}return*begin;}templateclassarray{public:typedefT*iterator;typedefconstT*const_iterator;constex

c++ - 仅在 constexpr 函数体内的未计算上下文中使用的参数

下面这段代码用gcc5.3.0编译成功,用clang3.7.0编译失败。在这两种情况下,我都使用了具有相同命令行选项的在线coliru编译器:-std=c++14-O2-Wall-pedantic-pthread。#include//Definitionofconstexprfunction'foo'.constexprstd::size_tfoo(constint&arg_foo){returnsizeof(arg_foo);}//Definitionoffunction'test'.voidtest(constint&arg){//Thefollowinglineproducesa