我想从我的C++代码中运行另一个程序.system()返回int,因为每个程序只能返回int到os.但是,我想调用的另一个程序将在我的基本应用程序中生成一个我需要的字符串.如何将其发送到父进程?
这两个应用程序将在同一个文件夹中,所以我认为子应用程序可以将字符串保存到"temp.txt",然后主应用程序可以读取并删除它(这不是性能关键的过程,我将调用另一个进程只是在我的主opengl应用程序中调用打开文件对话框).然而,这是一个有点难看的解决方案,是否有更好的跨平台解决方案?
谢谢
class a
{
object guest;
}
a::a() : guest(required_argument)
{
}
Run Code Online (Sandbox Code Playgroud)
问题是我需要在创建类'对象后调用guest的构造函数.有办法吗?
我正在搜索代码中的错误,我有一个问题:
class a
{
public:
void foo(int a) {}
}
std::set<a*> set;
std::set<a*>::iterator it = set.begin();
it->foo(55); //gives me error:
// error: request for member ‘foo’ in ‘* it.std::_Rb_tree_const_iterator<_Tp>::operator-><a*>()’, which is of pointer type ‘a* const’ (maybe you meant to use ‘->’ ?)
Run Code Online (Sandbox Code Playgroud)
为什么它不允许我使用非const函数呢?如果不使用强制转换,我可以做一组非常量指针?
有没有什么好方法可以将std :: vector分配给std :: multiset?当然不是迭代.我看到在C++ 11中有类似初始化列表的东西,也许它可以以某种方式使用?