Bjarne在《联合打击战斗机 C++ 编码标准》中指出:
仅允许通过以下机制之一进行向下转换(从基类转换为派生类):
- 虚拟函数的行为类似于动态转换(在相对简单的情况下最有可能有用)
- 使用访问者(或类似)模式(在复杂情况下最有可能有用)
我无法理解第一个提议。谷歌搜索没有给出任何例子,也没有解释。
虚函数如何像动态强制转换一样起作用?
我似乎发现了Qt 5.1的烦人问题
比方说,你有一个系统托盘图标(QSystemTrayIcon),你隐藏你的表格(QDialog)
this->hide();
Run Code Online (Sandbox Code Playgroud)
然后在隐藏表单时,您的应用会显示一个消息框:
QMessageBox::information(0, "Test", "Test");
Run Code Online (Sandbox Code Playgroud)
一旦用户点击确定关闭对话框,程序将以退出代码0退出.因此它不会崩溃,但它会礼貌地退出.
我所知道的唯一解决方法是在Windows上使用WIN32 API和MessageBox函数.这不是我想要做的.
这是一个错误吗?
我有一组满足以下模式的字符串:sometext_number。因此,我总是在'_'符号后面有一个数字。是否有方便的方法从字符串中获取该数字,而不管其大小如何?