c++17相关内容

多成员Construpr结构初始化

我是constexpr的新手,但是,我认为我正在练习的问题很适合编译时计算.这不是为了做家庭作业或任何事情,而只是练习“现代"练习.C ++. 这是我到目前为止所拥有的:标题(prime_app_lib.hpp): //#pragma一次用于现代头文件(.hpp)#pragma一次#include静态constexpr unsigned max_prime = 10000 ..
发布时间:2021-04-20 19:04:04 C/C++开发

UTF-8输入有问题

我的简单代码输出时日语字符没有问题,但是由于某种原因,它不能正确输入,是否缺少某些东西? int main(){_setmode(_fileno(stdout),_O_U16TEXT);SetConsoleCP(CP_UTF8);std :: wstring s = L“こんにちは,世界!\ n你好,世界!";std :: wcout ..
发布时间:2021-04-20 19:04:01 C/C++开发

在for循环内创建指针会导致指向相同的内存地址

我有一个对象,试图对该对象进行一些次更改,然后尝试复制任意次.我想将指向这些重复对象的指针存储在 std :: vector 中.我正在使用 for 循环尝试获得结果.但是,我注意到的是,循环退出后, std :: vector 指向相同的地址.我尝试使用 std :: string 复制对象的尝试,但效果相同.这是我的代码段. int main(){自动名称=新的std :: s ..
发布时间:2021-04-20 19:03:54 C/C++开发

仅编译时CRC32用户文字

无法正常工作,我的大脑正在融化.该代码看起来应该可以工作.我希望该函数仅在编译时起作用,而不生成任何运行时代码或可调用函数. templateconstexpr uint32_t运算符“" _crc(){constexpr auto lambda = [](auto l,uint32_t crc,自动优先自动... lstr){如果constexpr(sizeof ... ..
发布时间:2021-04-20 19:03:51 C/C++开发

有没有一种方法可以使异常无限期地工作?

我一直在尝试从用户那里获取输入.我想确保输入内容符合我对使用try and catch块的其余代码的要求. 但是,仅捕获一次后,它将中止代码.我想确保在捕获错误后,它实际上会返回输入函数多次,直到用户为程序提供有效输入为止.除了完全不使用try catch块之外,有没有办法做到这一点? 代码如下: #include#include#inclu ..
发布时间:2021-04-20 19:03:44 C/C++开发

在我的可变参数模板中获取UB,将可变数量的向量逐元素求和

我正在尝试创建一个函数 AddVector ,该函数明智地添加(可变)数量的vectors.我想我明白了,但是当我得到错误的输出时,我显然没有.我要添加三个双精度矢量,每个矢量的大小为5,包含1 + 2 + 1,因此我希望 4 4 4 4 4 我知道 1.36234e-316 2.0326e-316 4 4 4 显然是错误的(也许是未初始化的mem?) 我使用CppInsig ..
发布时间:2021-04-20 19:03:37 C/C++开发

避免在嵌入式上使用func(char *)API

注意: 我对问题进行了很大的改动以使其更加具体,但是我将旧问题保留在帖子的末尾,以防对任何人有用. 新问题 我正在开发一个嵌入式应用程序,该应用程序使用以下类型来表示字符串: 字符串文字(默认为空终止) std :: array(非null终止) std :: string_view 我希望有一个函数可以统一接受所有函数.唯一的问题是,如果输入 ..
发布时间:2021-04-20 19:03:25 C/C++开发

将解析器从单独的翻译单元嵌入到另一个解析器中

我正在尝试将在翻译单元(unit1.h/unit1.cpp)中隔离的解析器(名为 parser1_rule )重用于另一个解析器(名称为 trace_parser ).但是我得到一个警告和一条错误消息(为便于阅读,下面进行了复制和重新格式化)或多或少(这是我的解释)指出尚未为定义(或实例化) parser1_rule 新上下文 trace_context_t . 实际上,在X3中,规则具有两 ..
发布时间:2021-04-20 19:03:22 C/C++开发

通过线程简单地分工并不会减少花费的时间

我一直在尝试通过将工作划分为任务/线程来缩短项目的计算时间,但效果却不尽人意.因此,我决定创建一个简单的测试项目,以查看是否可以在非常简单的情况下使它正常工作,而且也无法按我的预期进行. 我试图做的是: 在一个线程中执行X次任务-检查花费的时间. 在Y个线程中执行任务X/Y次-检查时间. 因此,如果1个线程花费T秒执行“工作"的100'000'000次迭代,则执行“迭代".那么我会 ..
发布时间:2021-04-20 19:03:19 服务器开发