在cout语句中连接数组大小
Concatenating an array size in cout statement
我试图输出数组中元素对象的数量,但语法与Java:不同
// print list of all messages to the console
void viewSent()
{
cout << "You have " << sent.size() << " new messages.n";//Error: left of '.size' must have class/struct,union
std::cout << "Index Subject" << 'n';
for (size_t i = 0; i < sent.size(); ++i)
{
std::cout << i << " : " << sent[i].getSubject() << 'n';
}
}
如果.size在C++语法中不起作用,那该怎么办?
std::vector
。sent.size()
是获取大小的正确方法。
您没有发布sent
的定义,但它应该是std::vector<YourObject> sent;
,可能还指定了初始大小和/或值。
我猜你尝试过使用C样式数组——不要这样做,由于历史原因,C样式数组有奇怪的语法和行为,在C++中真的没有必要使用它们。
如果你的数组是C-array,你可以这样循环:
for (size_t i = 0; i < (sizeof(sent) / sizeof(TYPE)); ++i)
其中TYPE是数组的基本类型。
例如,如果发送被定义为:
int sent[];
则TYPE将为int
,如下所示:
for (size_t i = 0; i < (sizeof(sent) / sizeof(int)); ++i)
C-Array不是对象。因此,它没有成员或方法,您不能将成员运算符与之一起使用。sizeof
运算符用于查找基本类型的大小,单位为字节。sizeof
返回类型为size_t
的整数值。
相关文章:
- 尝试将 c 字符串数组与分隔符连接起来
- 需要关于如何将我的随机数数组连接到冒泡排序的帮助
- 如何将X 2维数组连接到一个三维阵列中
- qt如何连接QPushButton的2D数组并返回位置
- 连接数组,数组 1 内存消失C++
- 如何与字符串连接thar数组
- 如何连接 2D 数据数组
- 使用 << 或 >> 连接无符号字符数组
- 碰撞连接到通过STD ::数组
- 将字符数组连接在一起
- 在 C 语言中将 32 位 int 块连接在 16 个字符数组中
- 将字符数组解释为多个连接的数据类型
- 用C++连接数组中的数据
- 有没有直接的方法可以连接两个字符数组 (char*)
- 连接 2 个数组,一个字符串数组和一个数字数组
- 连接两个动态字符串数组
- C++字符串与字符数组连接
- 使用指针将两个字符数组连接成一个字符数组
- 将一个字符数组连接到另一个字符数组的末尾(没有内置函数)
- c++:将数组连接在一起-是否可能使用指针而不复制