草庐IT

send_this_email

全部标签

c++ - 可能的段错误 : Am I using the "this->" operator correctly?

我正在做一个我有疑问的家庭作业。如果您对协助解决家庭作业问题感到不自在,我应该说我的老师鼓励我们在完全难倒时在这个网站上寻求帮助。另外,我已经自己完成了作业的基本部分,现在正在做一个可选的挑战问题。无论如何,解决问题!作为OOP和C++的新手,我很难理解“this->”运算符。我们没有在类里面讲过它,但我在其他地方看到过它,我有点猜测它是如何使用的。对于作业,我必须创建一个基于控制台的井字游戏。只有任务的挑战部分要我们创造一个人工智能对手,我们没有因为挑战而获得任何额外的功劳,我只是想知道怎么做。我正在研究极小极大和博弈树之类的东西,但现在我只想创建一个“选择一个随机的开放点”函数。我

c++ - 如何摆脱 "The documentation for this class was generated from the following files"段?

什么选项,在GUI前端的什么位置,是否需要设置去掉段落Thedocumentationforthisclasswasgeneratedfromthefollowingfiles:来self的项目文档页面?或者,我如何摆脱此文件列表中的绝对路径,例如以下代码段中的C:/Users/Avesta/Desktop/CF/trunnk/CloudServer/:? 最佳答案 显示哪些文件已被使用的部分的可见性由SHOW_USED_FILES设置控制。当FULL_PATH_NAMES设置为YES并且相关部分未通过STRIP_FROM_PATH

c++ - 关于 shared_from_this 的问题

我有一个函数,它接受shared_ptr.在某些成员函数memfun的MyClass,我需要通过this到那个功能。但是如果我写voidMyClass:memfun(){func(shared_ptr(this))}我假设调用结束后引用计数将达到0和this将试图被破坏,这是不好的。然后我想起了有这个类(class)enable_shared_from_this使用函数shared_from_this.所以现在我将使用以下内容:classMyClass:publicenable_shared_from_this{voidMyClass:memfun(){func(shared_from

c++ - 在 lambda 函数中使用 auto self(shared_from_this()) 变量的原因是什么?

我阅读了boostasiohttp服务器示例代码(参见http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/example/cpp11/http/server/connection.cpp)并发现autoself(shared_from_this());变量已在捕获范围内使用([this,self])。但是在lambda函数中没有使用self变量。那么这样做有什么好处呢? 最佳答案 这样做是为了确保connection对象比异步操作更有效:只要lambda处于事件状态(即异

c++ - fcgio.cpp :50: error: 'EOF' was not declared in this scope

我正在尝试在LinuxUbuntu10.x机器上构建fastcgi。我运行以下命令:./配置制作我收到以下错误:fcgio.cpp:Indestructor'virtualfcgi_streambuf::~fcgi_streambuf()':fcgio.cpp:50:error:'EOF'wasnotdeclaredinthisscopefcgio.cpp:Inmemberfunction'virtualintfcgi_streambuf::overflow(int)':fcgio.cpp:70:error:'EOF'wasnotdeclaredinthisscopefcgio.cpp

c++ - "not declared in this scope"模板和继承错误

这个问题在这里已经有了答案:WhydoIhavetoaccesstemplatebaseclassmembersthroughthethispointer?(3个回答)accessingprotectedmembersofsuperclassinC++withtemplates[duplicate](2个回答)关闭8年前。这是重现我的问题的代码示例:templateclassBase{public:Base(){}virtual~Base(){}protected:intmyOption;virtualvoidset()=0;};templateclassChildClass:publ

c++ - 什么时候在 lambda 中捕获 'this'?

我在一个类中有一个函数,它定义了一个lambda并将它存储在一个局部静态变量中:classA{public:voidcall_print(){staticautoconstprint_func=[this]{print();};print_func();};virtualvoidprint(){std::cout我还执行了以下测试:intmain(){Aa;Bb;a.call_print();b.call_print();}(LiveSample)我期望打印的是:A::print()B::print()但我真正得到的是:A::print()A::print()(每个也打印相同的对象地址

c++ - 错误 : strcpy was not declared in this scope

我在Ubuntug++版本4.4.3中编译的c++问题中遇到了这个问题。我不知道要包含哪些标题来解决这个问题。谢谢centro_medico.cpp:Inconstructor‘Centro_medico::Centro_medico(char*,char*,int,int,float)’:centro_medico.cpp:5:error:‘strcpy’wasnotdeclaredinthisscopecentro_medico.cpp:13:warning:deprecatedconversionfromstringconstantto‘char*’centro_medico.c

c++ - 如果 `this` 不是 const,为什么我不能修改它?

在this指针[class.this]中,C++标准规定:ThetypeofthisinamemberfunctionofaclassXisX*.即this不是const。但是为什么会这样呢structM{M(){this=newM;}};给予error:invalidlvalueinassignment换句话说,this不是const,但它确实是! 最佳答案 因为在同一段中,还提到了this是一个prvalue(“纯右值”)。纯右值标准中提到的示例是调用不返回引用的函数的结果,或者像1、true或3.5这样的文字f。this指针不

c++ - "delete this"在构造函数中

当我执行这段代码时实际发生了什么?classMyClass{MyClass(){//dosomethingdeletethis;}} 最佳答案 注意:此答案适用于C++03,并且似乎在C++11及更高版本中行为已更改,因此现在这是未定义的行为。事实证明,在这种特殊情况下,代码是合法的,但您远离未定义的行为。C++03标准将对象的“生命周期”定义为构造函数完成运行与析构函数开始运行之间的时间。它还明确指出(在§3.8/5中)Beforethelifetimeofanobjecthasstarted[...]Iftheobjectwil