草庐IT

目的地

全部标签

c++ - 函数 try block 的目的是什么?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Whenisafunctiontryblockuseful?Differencebetweentry-catchsyntaxforfunction这段代码在UseResources类中构造Dog对象时抛出一个int异常。int异常被普通的try-catchblock捕获,代码输出:Cat()Dog()~Cat()Insidehandler#includeusingnamespacestd;classCat{public:Cat(){cout现在,如果我们将UseResources()构造函数的定义替换为使用f

c++ - 日志库的意义和目的是什么?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我想了解日志库的基础知识。日志库的具体用途是什么?我了解日志基本上是有关您的应用程序在执行过程中的信息。一种方法是直接在文件中写入信息。设计专用库(如glog)用于日志记录的目的是什么?我对日志记录的理解是否正确,或者我是否需要更改它?有人可以举一个实际的例子来说明使用日志库的重要性吗?在选择日志库时应该考虑哪些特性?如何在实现过程中有效地使用日志记录?

c++ - QWidget的 parent 的目的是什么?

如果我将任何小部件子​​类化,通常的模式是:ZTabWidget::ZTabWidget(QWidget*parent):QTabWidget(parent){blah...blah...}通常的模式是:WidgetBwidgetb=newWidgetB(widgeta)widgeta.addWidget(widgetb);将我所有的小部件指定为主窗口作为它们各自的父级有什么坏处吗?尽管按照addWidget层次结构,大多数这些小部件都有另一个小部件作为addWidget父级:WidgetBwidgetb=newWidgetB(mainWindow)widgeta.addWidget(

c++ - 使用指向 "this"的 volatile 指针的此模式的目的是什么?

我最近发现在C++多线程代码中使用volatile关键字很奇怪。为了抽象编程模式,我们假设有一个控制对象被一个生产者和多个消费者线程访问:classcontrol_t{pthread_mutex_tcontrol_lock;pthread_cond_twake_cond;boolthere_is_work_todo;control_tvolatile*vthis(){returnthis;}}消费者线程执行以下操作(c是指向控制对象的非volatile指针):...pthread_mutex_lock(c->control_lock)while(!c->vthis()->there_i

c++ - 调用表达式中 Callable 参数的完美转发目的?

在ScottMeyer的书中EffectiveModernC++onpage167(打印版),他给出了以下示例:autotimeFuncInvocation=[](auto&&func,auto&&...params){//starttimer;std::forward(func)(std::forward(params)...);//stoptimerandrecordelapsedtime;};我完全理解params的完美转发,但我不清楚func的完美转发何时会相关。换句话说,上面的优点是什么:autotimeFuncInvocation=[](auto&&func,auto&&.

c++ - 通用项目的 Qt Creator c++11 语法突出显示

我的核心问题是,当使用QtCreator作为“通用”(非Qt)项目的代码编辑器时,我如何告诉它使用c++11语法高亮显示?我有一个c++11项目已经工作了一段时间,我决定尝试一下QtCreator。这是一个普通的vanillac++项目,带有一个手工编码的makefile等等。QtCreator很好地打开了项目(“eSLIME”),并创建了三个文件:eSLIME.config、eSLIME.includes和eSLIME.files。它没有创建.pro文件。好像不能识别c++11的调用。例如用绿色下划线“#include”,表示不存在该文件或目录。我怀疑我应该在.config文件中添加

c++ - "\'“转义序列的目的是什么?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whatistherationaleinallowing`?`tobeescaped?如果我能做到:stringi="'";为什么这样做:stringi="\'";

c++ - 在 C++ 中对类进行类型定义的目的是什么?

我在我正在查看的某些C++代码中经常看到如下代码:typedefclassSomeClassSomeClass;我对这实际实现的结果感到困惑。好像这不会改变什么。像这样的typedef有什么作用?如果这样做有用,是否值得付出额外的努力? 最佳答案 它会阻止这样的代码编译:classSomeClass{...};intSomeClass;这是完全合法的C++,尽管它很糟糕。如果这样做,那么对裸SomeClass的任何引用都会引用该变量。要引用该类,您需要在每次使用时明确地说出classSomeClass。如果您创建一个typedef:

c++ - 这么复杂的C++类设计的目的是什么?

我看到了一个开源的C++代码,我很好奇,为什么人们要这样设计类?首先,这里是抽象类:classBaseMapServer{public:virtual~BaseMapServer(){}virtualvoidLoadMapInfoFromFile(conststd::string&file_name)=0;virtualvoidLoadMapFromFile(conststd::string&map_name)=0;virtualvoidPublishMap()=0;virtualvoidSetMap()=0;virtualvoidConnectROS()=0;};这里没有什么特别的,

c# - 所有 Process* 方法和所有消息过滤器的目的是什么?

我注意到WinForms有许多处理命令或键(Process*())和(预)过滤系统消息的方法,但我仍然不清楚它们各自的目的。官方文档有些晦涩难懂,我没有找到任何明确完整的回应。我讲的是以下几种方法:PreFilterMessage(refMessagem)ProcessCmdKey(refMessagemsg,KeyskeyData)WndProc(refMessagem)ProcessDialogKey(KeyskeyData)PreProcessMessage(refMessagemsg)ProcessKeyMessage(refMessagem)ProcessKeyPreview