有人可以解释一下我的has_trivial_default_constructor工作原理吗?我尝试在boost实现中找到它但不幸的是有太多的宏而我只是迷路了...
有人可以trivial_default_constructor使用模板检测C++中的内容吗?
我需要一个C++ 03而不是11的例子.
#include <boost/type_traits.hpp>
#include <boost/static_assert.hpp>
struct A{
A(){}
int a;
//std::vector< int > b;
};
int main(int argc, char* argv[])
{
struct B{
std::vector< int > b;
};
bool result = boost::has_trivial_default_constructor<A>::value;
//std::forward(&test);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 您好我正在基于我的项目的基于摇摆的gui部分工作,我需要将setBounds JFrame的方法与setResizable调用同步,所以我这样做:
setResizable(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle rect = new Rectangle(screenSize.width/2 - screenSize.width/4, screenSize.height/2 - screenSize.height/4, screenSize.width/2, screenSize.height/2);
setBounds(rect);
setResizable(false);
Run Code Online (Sandbox Code Playgroud)
但结果是我的框架没有得到给定的边界它只是禁用调整大小功能.如果我删除最后一个setResizable调用,那么表单将获得正确的边界.实际上我有一个基于框架和许多面板的向导,我更改框架上的面板状态.只有在一个面板中,我想给用户提供调整框架大小的机会,否则它应该是固定大小的.所以在我的主框架中我实现了两个方法,enableWizardMode和enablePlayingGameMode:
@Override
public void enablePlayingGameMode() {
setResizable(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(new Rectangle(screenSize.width/10, screenSize.height/10, screenSize.width - screenSize.width/5, screenSize.height- screenSize.height/5));
}
@Override
public void enableWizardMode() {
setResizable(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(new Rectangle(screenSize.width/2 - screenSize.width/4, screenSize.height/2 - screenSize.height/4, screenSize.width/2, screenSize.height/2));
setResizable(false);
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用IComponentListener,但它没有帮助我随机调整框架大小.我还尝试使用SwingUtilities.invokeLater将resizable标志设置为false,但它也没有帮助.有人知道这个问题的解决方案吗?我运行Linux和oracle jdk7.谢谢.
让我们说我有一节课:
MyType callback(){
/// randomize here
.....
.....
return randomValue;
}
class MyClass{
private:
std::vector< MyType > m_vector;
public:
MyClass( unsigned int size ):m_vector(size, callbackHere? );
};
Run Code Online (Sandbox Code Playgroud)
我需要使用我生成的值初始化向量,我该怎么做?一个解决方案是为MyType创建一个空构造函数,这就是我所拥有的,但是现在我想用对替换MyType,因此空构造函数不起作用.
我的回调将返回随机值,所以最后我希望有一个带有一些随机值的向量.
谢谢