我正在使用inet v3.4.0。我正在尝试创建一个移动模型。但每当我创建任何类型的std :: vector时,它都会以随机大小初始化。
初始化时,它的大小永远不会为零。这应该发生吗?因为从C ++向量,我看到在创建向量时,例如
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json({type: '*/*'}));
var server = require('http').createServer(app);
var io = require('socket.io')(server);
app.use(express.static('/opt/lampp/htdocs/testproject/'));
io.on('connection', function(client) {
console.log("connected");
client.emit("message", "Some thing to show");
});
server.listen(8080);
std::vector <int*> a;
的大小应为零。
答案 0 :(得分:7)
恰恰相反; C ++标准要求默认构造的std::vector
为零大小:
std::vector<int* /*for example, but the type is not relevant*/> a;
a.size() == 0; // this is true
a.empty(); // this is true
您是否正在使用调试器来检查a
的明显“内容”?请注意,std::vector
可以使用非零容量构建,作为内存管理优化。
(Acknowledge @molbdnilo:您无法使用sizeof(a)
返回a
中的元素数量。)
答案 1 :(得分:2)
不确定什么是inet,但我使用C ++将大小设为0:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
std::vector<int*> a;
cout << "Size is : " << a.size() << endl;
return 0;
}
输出:
Size is : 0