我最近知道一个整数从内存中占用4个字节.
首先运行此代码,并测量内存使用情况:
int main()
{
int *pointer;
}
Run Code Online (Sandbox Code Playgroud)

然后我修改了代码以分配1000个整数变量.
int main()
{
int *pointer;
for (int n=0; n < 1000; n++)
{
pointer = new int ;
}
}
Run Code Online (Sandbox Code Playgroud)

然后我决定制作262,144个整数变量,它们应该消耗1MB的内存.
int main()
{
int *pointer;
for (int n=0; n < 262144; n++)
{
pointer = new int ;
}
}
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,现在需要8MB

内存使用量,指数增长各自的整数.
为什么会这样?
我在Kubuntu 13.04(amd64)
请给我一点解释.谢谢!
注意:sizeof(integer)退货4
在Java中,可以在初始化时为特定对象修改类结构:
Car ford = new Car(){
public float price;
};
Run Code Online (Sandbox Code Playgroud)
因此,福特对象获得了一个名为price的新属性,而其他车则没有.
有没有一种方法可以在C++中获得类似的功能,而无需创建整个子类?
谢谢!
可以说我想将列表视图中第二个Rectangle项的颜色更改为红色。
我该怎么做?
这是我的ListView:
ListView {
id: myList
model: myDataModel
delegate: Rectangle {
color: "green"
height: 20
width: 100
onClicked{
//Do something
}
}
}
Run Code Online (Sandbox Code Playgroud)