草庐IT

gravity_value_t

全部标签

c++ - Bison 值(value) move/效率

我正在根据Bison的语义值构建我的解析数据结构。一个特定的结构是类型std::vector.我很好奇Bison内部如何处理move的语义值。我尝试分析c++.m4文件,发现:templateinlinevoid]b4_parser_class_name[::basic_symbol::move(basic_symbol&s){super_type::move(s);]b4_variant_if([b4_symbol_variant([this->type_get()],[value],[move],[s.value])],[value=s.value;])[]b4_locations

c++ - 命名管道 CreateFile() 返回 INVALID_HANDLE_VALUE,GetLastError() 返回 ERROR_PIPE_BUSY

我已经编写了一个类来处理命名管道连接,如果我创建了一个实例,关闭它,然后尝试创建另一个实例,调用CreateFile()返回INVALID_HANDLE_VALUE,并且GetLastError()返回ERROR_PIPE_BUSY。这里发生了什么?我该怎么做才能确保对Connect()的调用成功?PipeAsyncA,B;A.Connect("\\\\.\\pipe\\test",5000);A.Close();cout这是我对Connect()和Close()的实现BOOLPipeAsync::Connect(LPCSTRpszPipeName,DWORDdwTimeout){th

c++ value_type 不适用于 std::map 中的 std::tr1:tuple

以下代码片段适用于VisualStudio2008,但不适用于VisualStudio2010。templatestructMyStruct{typedefstd::mapKeys;MyStruct(){}voidset(TKey&key){#if1//ThisworkswithVS2008butnotwith2010keys_.insert(typenameKeys::value_type(key,1));#else//ThisworkswithVS2008andVS2010keys_.insert(std::pair(key,1));#endif};private:Keyskeys

PHP/C++ : Inject values into EXE file

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我想即时向EXE文件中注入(inject)一个值。我过去打交道的一家公司给了我一个EXE“stub”,我可以在用户下载它之前使用PHP在运行中注入(inject)一个值。我在谷歌上找不到任何东西,因为我不知道这个过程的名称,谁能给我指出正确的方向?理想情况下,它会是C++/PHP,但可以很灵活,或者甚至只是关于它如何工作的一般过程的信息将是一个很好的开始。他们甚至用他们发给我的EXE来做到这一点,我用我的

c++ - boost::optional deprecated get_value_or

我怀疑boost::optional的get_value_or已被弃用,因为如果将右值作为default参数传递是不安全的。但是,有时能够引用可选值或默认替代值很有用。以下安全吗?templateTconst&get_reference_or(boost::optionalconst&opt,Tconst&alt){if(opt)returnopt.get();elsereturnalt;}templateTconst&get_reference_or(boost::optionalconst&,T&&)=delete; 最佳答案

c++ - 上采样 : insert extra values between each consecutive elements of a vector

假设我们有一个由20个float组成的vectorV。是否可以在这些float的每一对之间插入值,使vectorV成为恰好包含50个数字的vector。插入的值应该是介于上限值和下限值之间的随机数我决定在两者之间插入两个值的中点。我尝试了以下方法:vectorupsample(vector&in){vectortemp;for(inti=1;i使用此函数,输入vector元素增加2(n)-1(20个元素变为39)。输入vector的不同大小可能小于50。我认为可以通过在两个元素之间随机插入一个以上的值来获得大小为50的vector(例如,在V[0]和V[1]之间插入3个值,在V[3]和

c++ - 错误 : no type named ‘value_type’ in ‘class

我收到以下编译器错误:(graph_algorithms.h:59:111:error:notypenamed‘value_type’in‘classGraph::graph_algorithms::vertex_comparer’)这是什么意思?下一行给了我一大堆编译器错误std::priority_queue::vertex,typenameGraph::graph_algorithms::vertex_comparer>pri_que;#ifndefGRAPH_ALGORIUHMS_H_#defineGRAPH_ALGORIUHMS_H_#include#include"grap

c++ - 带有 C++ 的 Lua 脚本 : attempt to index global 'io' (a nil value)

我打算使用luafoAI编写一个程序,所以我试图让它一起工作。但是当我尝试从我的cpp文件加载lua脚本时,我收到了这个错误消息:--toto.lua:1:attempttoindexglobal'io'(anilvalue)这是我的lua脚本:io.write("运行中",_VERSION,"\n")这是我的cpp文件:voidreport_errors(lua_State*L,intstatus){if(status!=0){std::cerr非常感谢。 最佳答案 你不应该直接调用luaopen_*函数。使用luaL_openl

php - 从 PHP-CPP 的 Php::Value 中检索类名

在使用PHP-CPP为PHP开发一个小型扩展时,我在C++端收到一个包含对象的数组,我需要检索它的类名。对象Php::Value看起来没有任何方法。与我在HNI中在此扩展中所做的类似:https://github.com/mcuadros/bson-hni/blob/master/src/encode.cpp#L86 最佳答案 你是对的,在C++中没有特殊的方法来确定Php::Value对象中的类名。因此,确定类名的最佳方法是使用Php::call方法调用PHP用户空间中的get_class方法:std::stringclassna

c++ - "Value Validation in Getter/Setter"是好的样式吗?

我的Getter/Setter方法会在设置/返回值之前检查该值。当值无效时,它们会抛出异常(BadArgumentException或IllegalStateException)。这是必需的,因为我们使用无效值初始化所有成员-因此我们避免使用这些无效值(==在其他地方出现错误/段错误/异常)。好处是:当您从模型中收到成员值时,您就知道它们是有效的有效性检查仅在模型对象中执行取值范围在模型对象中定义这似乎很不寻常,因为大多数新团队成员首先提示它-即使在我向他们解释后他们同意我的看法。问题:这是一种好的编程风格吗?(虽然浪费了一点性能)示例代码:inlineboolMyClass::Has