jjzjj

returned

全部标签

c++ - GMock : How to return mock class variable as the return value

我是第一次尝试使用GMock(用于C++的谷歌模拟框架)。我有以下类(class):classLocalCache{public:virtualtime_tGetCurrentTime()=0;virtualintAddEntry(conststd::stringkey,std::string&value);virtualintGetEntry(conststd::stringkey,std::string&value);};GetEntry方法调用GetCurrentTime调用。我想模拟GetCurrentTime方法,以便我可以在测试中提前时钟以测试作为GetEntry调用的一部

c++ - 使用 PostgreSQL RETURNING .. INTO 子句将插入的值返回到变量中

在插入之后,该语句在Oracle中运行良好。INSERTINTOtable_name(col1,col2)VALUES(val1,val2)RETURNINGcol1INTO:var;我们可以将变量绑定(bind)到:var并执行语句。但是,当相同的查询在Postgres数据库中运行时,会出现以下错误。ERROR:syntaxerroratornear"INTO".这种行为的原因是什么?我尝试在PL/pgSQLblock中运行查询,结果运行良好。DO$$DECLAREvarinteger;BEGININSERTINTO"table_name"("col1,"col2")VALUES(v

c++ - constexpr 构造函数是否允许 return 语句?

如thispage中所述,constexpr构造函数主体的复合语句,如果不删除也不默认,必须满足constexpr函数主体的约束,即它可能包含任何声明,除了:asm声明goto语句try-block非文字类型或静态或线程存储持续时间或未执行初始化的变量的定义标准似乎没有限制可能出现的return语句的数量,而在C++11中,只允许出现一个。现在,考虑以下代码:classThing{public://Shouldn'tthisconstructorbefineunderbothC++11andC++14?constexprThing(){return;}};intmain(){Thing

c++ - 为什么 return 之后的语句会改变返回值?

C++在以下代码中返回无效值:#include#includeusingnamespacestd;intf(){vectorv[2];return1;v[1].push_back(NULL);}intmain(){cout输出是:205960当我返回后使用commnet线路时,​​它工作正常:#include#includeusingnamespacestd;intf(){vectorv[2];return1;//v[1].push_back(NULL);}intmain(){cout输出是:1我正在使用code::blocks和mingw32-g++.exe编译器。mingw版本为:

c++ - 在 return 语句中将指针强制转换为固定大小的数组

提出这个问题的最简单方法是使用一些代码:structPoint{intx;inty;intz;int*as_pointer(){return&x;}//worksint(&as_array_ref())[3]{return&x;}//doesnotwork};as_pointer编译,as_array_ref不编译。类型转换似乎是有序的,但我想不出合适的语法。有什么想法吗? 最佳答案 我发现使用typedef处理数组类型更容易:typedefintints[3];然后是你的as_array_ref必须写成&as_array_ref(

C++11/VS2010 : Returning containers of uncopyable but movable objects

考虑以下代码:#include#includestructA:privateboost::noncopyable{A(intnum,conststd::string&name):num(num),name(name){}A(A&&other):num(other.num),name(std::move(other.name)){}intnum;std::stringname;};std::vectorgetVec(){std::vectorvec;vec.emplace_back(A(3,"foo"));//vec.emplace_back(3,"foo");notavailabley

c++ - 在 C++ 中, "return;"是否与 "return NULL;"相同?

我的问题是return;和C++中的returnNULL;一样吗?我理解在C++中,returnNULL;在指针上下文中与return0;相同。显然对于整数,情况并非如此,因为NULL不能被添加、减去等。并且一些人鼓励使用0而不是NULL作为指针,因为它更便于移植。我很好奇这是否是另一个发生等价的例子。我怀疑它们是等价的,因为return;是说return'nothing'而NULL是'nothing'。但是,如果有人可以证实或否认这一点(当然要有解释),我将不胜感激! 最佳答案 isreturn;thesameasreturnNU

c++ - 为什么 `return {};` 不适用于 `std::forward_list` ?

我的编译器是clang3.4,完全支持C++14和std::forward_list。#includestructA{A(){}explicitA(initializer_list){}};Af1(){returnA();//OK}Af2(){return{};//OK}typedefstd::forward_listT;Tf3(){returnT();//OK}Tf4(){//error:convertingto'T{akastd::forward_list}'frominitializer//listwoulduseexplicitconstructor'std::forward_

c++ - "Cannot overload functions distinguished by return type alone"是什么意思?

我有这个代码:在标题中:...int32_tround(floatv);...在源代码中...int32_tround(floatv){int32_tt=(int32_t)std::floor(v);if((v-t)>0.5)returnt+1;returnt;}...我在这个网站上四处看了看,但这些例子对我来说似乎有点太复杂了。我正在学习C++,所以如果有人能向我解释错误的含义以及发生错误的原因,我将不胜感激。 最佳答案 Functionoverloading表示有多个方法同名。现在,为了解析正确的重载方法,编译器会查看方法名称和

【ARMv8M Cortex-M33 系列 7.3 -- EXC_RETURN 与 LR 及 PC 的关系详细介绍】

请阅读【嵌入式开发学习必备专栏之ARMCortex-Mx专栏】文章目录背景EXC_RETURN与LR及PCcortex-m33从异常返回后各个寄存器出战顺序ARM栈增长方式背景接着上篇文章:【ARMv8MCortex-M33系列7.2–HardFault问题定位1】,后面定位到是在cortex-m33/context_gcc.S执行完BXLr之后就发生了HardFault,通过JLink发现LR的值为0xfffffffd所以又继续调查了EXC_RETURN的具体含义。pendsv_exit:/*restoreinterrupt*/MSRPRIMASK,r2ORRlr,lr,#0x04BXlrE