草庐IT

template_export_test

全部标签

c++ - 为什么bitset要用template来实现?

要定义一个16位的位集,就像这样:std::bitsetbs(0x123);如果让我设计一个bitset类,我大概会这样:mine::bitsetbs(16,0x123);std::bitset是由模板实现的有什么原因吗?这是我们应该在某些情况下应用的好模式吗? 最佳答案 Isthereanyreasonthatstd::bitsetisimplementedbytemplate?Isthisagoodpatternthatweshouldapplyinsomesituations?因为std::bitset被设计成一个静态位集。在

c++ - 错误 : Use of class template requires template argument list

当我尝试运行我的程序时,此错误显示为“errorC2955:'FOURTEEN':useofclasstemplaterequirestemplateargumentlist”#includeusingnamespacestd;templateclassFOURTEEN{private:Ta[n];public:voidReadData();voidDisplayData();};voidFOURTEEN::ReadData(){for(inti=0;i>a.[i];}voidFOURTEEN::DisplayData(){for(inti=0;i>a.[i]P;//Readdatai

c++ - boost::test 中是否有可以返回错误值的函数?

BoostTestLibrary是一个非常有用的单元测试框架。但是,我感到不舒服的一件事是,在单元测试期间,如果发生错误,它会通知用户而不是程序本身。让我以BOOST_CHECK为例来阐明我的观点:i=3;j=4;BOOST_CHECK(i==j);上面的测试用例会失败。因此,检查细节以找出此测试失败的原因将非常有趣。在这种情况下,如果程序知道单元测试失败,打印一些变量或执行更复杂的操作(例如将文件写入磁盘)将是必要的。但是,BOOST_CHECK不会返回一个值来表示测试是否成功。一个完美的函数应该是这样的:i=3;j=4;if(Enhanced_BOOST_CHECK(i==j)==

c++ - 我可以将 `extern template` 放入头文件中吗?

在头文件中放一个外部模板,然后在单元编译文件中显式模板实例化有效吗?例如在g++的编译示例中,这是为了避免nothing的实例化吗?两次?为什么没有人这样写而更喜欢复制externtemplate每个.cpp文件中的行?A.hpp:#ifndefHEADERC_A#defineHEADERC_Atemplatestructnothing{};externtemplatestructnothing;#endifA.cpp:#include"A.hpp"templatestructnothing;ma​​in.cpp:#include"A.hpp"#includeintmain(){not

c++ - 如何在 Google Test 中为一个夹具运行多个测试用例?

假设我有一个名为ProfileTest的GoogleTestfixture继承自::testing::TestWithParams创建一个解析器:classProfileTest:public::testing::TestWithParam>{public:QStringgetName(){returnQFileInfo(*m_file).fileName();}protected:voidSetUp(){m_profile=newProfile();m_file=newQFile(std::get(GetParam()).c_str());m_file->open(QIODevice

c# - 为什么 if( !A && !B ) 不能优化为单个 TEST 指令?

if(!A&&!B)似乎应该编译为moveax,dwordptr[esp+A_offset]testeax,dwordptr[esp+B_offset]jne~~~~~~~~~~编译器实际生成moveax,dwordptr[esp+A_offset]testeax,eaxjne~~~~~~~~~~moveax,dwordptr[esp+B_offset]testeax,eaxjne~~~~~~~~~~看这里转储8B45F8moveax,dwordptr[b]837DFC00cmpdwordptr[a],07504jnemain+32h(0A71072h)85C0testeax,eax7

c++ - 如何与 "template using"定义的模板(别名)类成为 friend ?

类B想和每个人成为friendC.我正在努力寻找解决方法。只要我不添加有问题的行,下面是成功编译的完整代码。#includeusingnamespacestd;enumEN{EN1,EN2};templateclassC{public:C(){std::coutclassB{templateusingCT=C;//templatefriendclassCT;//ct;}};intmain(){B::test();return0;}这是我尝试过的(全部失败):-templatefriendclassC;templatefriendclassCT;templatefriendclassCT

c++ - Google Test with CLion 未运行测试

我正在尝试使用googletest和CLion运行一个简单的测试。我认为我已经正确设置了cmake,并且能够“运行测试”。当我这样做时,它说没有找到测试。有任何想法吗?CMakeLists.txtcmake_minimum_required(VERSION3.7)project(expirement)find_package(ThreadsREQUIRED)set(CMAKE_CXX_STANDARD14)set(SOURCE_FILESmain.cppgetstring.cpptests.cpp)include(${CMAKE_ROOT}/Modules/ExternalProjec

c++ - C++ 模板的部分特化 : template parameter not deducible

下面的代码工作正常:templateclassFib{};templateclassFib{};但是下面的代码显示错误为:Error:templateparametersnotdeducibleinpartialspecialization:templateclassFib{};templateclassFib{};你能解释一下这种行为的原因吗? 最佳答案 我相信您只是缺少部分特化的正确语法:templateclassFib{};templateclassFib{};模板上的第一个参数是类型,而第二个只是一个常量值。

c++ - template<class = enable_if_t<...>> 做什么?

我一直在阅读STL文件,以学习格式化代码的更好方法,并学习提高效率的技巧。我一直在阅读线程文件,但我无法弄清楚某些代码的作用。template,thread>::value>>explicitthread(_Fn&&_Fx,_Args&&..._Ax){//constructwith_Fx(_Ax...)...}std::enable_if_t是templateusingenable_if_t=typenameenable_if::type;templatestructenable_if{//typeis_Tyfor_Testusingtype=_Ty;};该代码在thread和str