c++17相关内容
C ++ Clang发出有关未使用的模板变量的警告 考虑一个未使用的模板变量定义,例如: 模板struct is_complete:std :: false_type {};模板struct is_complete:std ::
..
我正在尝试找出如何一般性地重载给定基类对象的 operator |()以序列化或链接类似于 pipes 的函数调用>或 operator
..
功能如下: float random_float(最小浮点数,最大浮点数){std :: random_device rd;//从硬件获取随机数std :: mt19937 gen(rd());//为生成器播种std :: uniform_real_distributiondistr((double)min,(double)max);//定义范围return(float)distr(gen
..
我正在使用Visual Studio Community 2017 15.8.2.我正在尝试使用
..
当我在源文件中使用 for-loop 时,得到未消耗的结果.这是最小的源文件(我隐藏了文件头和 print_set 的功能): //主要功能int main(void){设置测试{3,5};print_set(test);for(auto it = test.begin(); it!= test.end();){自动节点= test.extract(it);++;}print_set
..
我是constexpr的新手,但是,我认为我正在练习的问题很适合编译时计算.这不是为了做家庭作业或任何事情,而只是练习“现代"练习.C ++. 这是我到目前为止所拥有的:标题(prime_app_lib.hpp): //#pragma一次用于现代头文件(.hpp)#pragma一次#include静态constexpr unsigned max_prime = 10000
..
我的简单代码输出时日语字符没有问题,但是由于某种原因,它不能正确输入,是否缺少某些东西? int main(){_setmode(_fileno(stdout),_O_U16TEXT);SetConsoleCP(CP_UTF8);std :: wstring s = L“こんにちは,世界!\ n你好,世界!";std :: wcout
..
我不知道如何在Sqlite3代码中实现准备好的语句 #include#include#include静态int回调(void * NotUsed,int argc,char ** argv,char ** azColName){我对于(i = 0; i
..
我有一个对象,试图对该对象进行一些次更改,然后尝试复制任意次.我想将指向这些重复对象的指针存储在 std :: vector 中.我正在使用 for 循环尝试获得结果.但是,我注意到的是,循环退出后, std :: vector 指向相同的地址.我尝试使用 std :: string 复制对象的尝试,但效果相同.这是我的代码段. int main(){自动名称=新的std :: s
..
无法正常工作,我的大脑正在融化.该代码看起来应该可以工作.我希望该函数仅在编译时起作用,而不生成任何运行时代码或可调用函数. templateconstexpr uint32_t运算符“" _crc(){constexpr auto lambda = [](auto l,uint32_t crc,自动优先自动... lstr){如果constexpr(sizeof ...
..
有没有技巧可以实现下面的伪代码功能?THX. 模板void fake_fold((T1 t1,T2 t2)...){(std :: make_pair(t1,t2)),...;//std :: pair,T1类型始终为sd :: string}#定义FAKE_MACRO(a,b,c)fake
..
我一直在尝试从用户那里获取输入.我想确保输入内容符合我对使用try and catch块的其余代码的要求. 但是,仅捕获一次后,它将中止代码.我想确保在捕获错误后,它实际上会返回输入函数多次,直到用户为程序提供有效输入为止.除了完全不使用try catch块之外,有没有办法做到这一点? 代码如下: #include#include#inclu
..
在我现有的代码库中,我有一个非模板类,其构造函数具有以下声明签名... struct SomeStruct {双a_;双b_;SomeStruct(double a,double b):a_ {a},b_ {b} {}}class SomeClass {私人的:SomeStructfields_;size_t n_;std :: functionfunc_;上
..
我正在尝试创建一个函数 AddVector ,该函数明智地添加(可变)数量的vectors.我想我明白了,但是当我得到错误的输出时,我显然没有.我要添加三个双精度矢量,每个矢量的大小为5,包含1 + 2 + 1,因此我希望 4 4 4 4 4 我知道 1.36234e-316 2.0326e-316 4 4 4 显然是错误的(也许是未初始化的mem?) 我使用CppInsig
..
正如标题所述,如何在代码中表达以下意图?作为函数指针的要求采用任何类型的参数.由于 std :: string .Variadic无法正常工作. https://godbolt.org/z/1E1szT 请注意,由于 fp 是类成员变量,因此我不能直接使用 auto fp = . #include模板void
..
在 :: operator()显式调用尚未解决时,我们可以使用哪种快速修复程序? 关于LLVM错误报告的已报告问题: https://bugs.llvm.org/show_bug.cgi?id = 49881 考虑以下最小再现案例: #includeint main(){//KO,显式模板参数const auto lambda_1 = []
..
注意: 我对问题进行了很大的改动以使其更加具体,但是我将旧问题保留在帖子的末尾,以防对任何人有用. 新问题 我正在开发一个嵌入式应用程序,该应用程序使用以下类型来表示字符串: 字符串文字(默认为空终止) std :: array(非null终止) std :: string_view 我希望有一个函数可以统一接受所有函数.唯一的问题是,如果输入
..
我正在尝试将在翻译单元(unit1.h/unit1.cpp)中隔离的解析器(名为 parser1_rule )重用于另一个解析器(名称为 trace_parser ).但是我得到一个警告和一条错误消息(为便于阅读,下面进行了复制和重新格式化)或多或少(这是我的解释)指出尚未为定义(或实例化) parser1_rule 新上下文 trace_context_t . 实际上,在X3中,规则具有两
..
我一直在尝试通过将工作划分为任务/线程来缩短项目的计算时间,但效果却不尽人意.因此,我决定创建一个简单的测试项目,以查看是否可以在非常简单的情况下使它正常工作,而且也无法按我的预期进行. 我试图做的是: 在一个线程中执行X次任务-检查花费的时间. 在Y个线程中执行任务X/Y次-检查时间. 因此,如果1个线程花费T秒执行“工作"的100'000'000次迭代,则执行“迭代".那么我会
..
问题是在C ++ 17或更高版本中在哪里初始化静态const成员?请考虑以下两种在c ++中初始化静态const成员的解决方案: 解决方案1(适用于c ++ 14或更早版本): //foo.h:#includestruct foo {静态const std :: string ToBeInitialized;}; //foo.cpp#include
..