社区
C++ 语言
帖子详情
C++,结构体中可以放vector吗?
liyukuneedeed
2011-02-14 10:34:36
想问下大家,C++,结构体中可以放vector吗?如下:
struct test
{
float a;
int num;
vector<string> str;
};
vector的大小是会变的,这样结构体的大小不就不固定了吗?所以想问问,结构体中是否可以放vector?
还有,vc6.0 和 2008 对这个会不会有不同的要求呢?
...全文
4837
7
打赏
收藏
C++,结构体中可以放vector吗?
想问下大家,C++,结构体中可以放vector吗?如下: struct test { float a; int num; vector str; }; vector的大小是会变的,这样结构体的大小不就不固定了吗?所以想问问,结构体中是否可以放vector? 还有,vc6.0 和 2008 对这个会不会有不同的要求呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GARY
2011-02-14
打赏
举报
回复
[Quote=引用 3 楼 hnwyllmm 的回复:]
必然可以的,而且你的结构体大小依然是固定的,lz试一下sizeof(vector<int>),肯定是固定的值
[/Quote]
20
Qyee
2011-02-14
打赏
举报
回复
在c++中。你把结构体 可以看成class,只是默认成员函数 和 成员变量的 属性 不同。
第一:struct中的成员默认是public的,class中的默认是private的。
第二:在用模版的时候只能写template <class Type>或template <typename Type>不能写template <struct Type>。
类中能放vector ,struct也行。。。
实践是最好的学习
2011-02-14
打赏
举报
回复
1
[Quote=引用楼主 liyukuneedeed 的回复:]
想问下大家,C++,结构体中可以放vector吗?如下:
C/C++ code
struct test
{
float a;
int num;
vector<string> str;
};
vector的大小是会变的,这样结构体的大小不就不固定了吗?所以想问问,结构体中是否可以放vector?
还有,vc6.0 和 2008 对这个会不会有不同的要求……
[/Quote]
楼上对的,结构体大小不会变的,变的只是vector中allocator所管理的内存
羽飞
2011-02-14
打赏
举报
回复
必然可以的,而且你的结构体大小依然是固定的,lz试一下sizeof(vector<int>),肯定是固定的值
chzhn
2011-02-14
打赏
举报
回复
当然可以,vector<string> str;
这一句的大小起始是固定的,相当于一个结构体指针,变化只是str内部的大小而已。
昵称很不好取
2011-02-14
打赏
举报
回复
写个代码测试下呗
liyukuneedeed
2011-02-14
打赏
举报
回复
谢谢大家了
C++
结构体
用法实例分析
本文实例讲述了
C++
结构体
用法。分享给大家供大家参考。具体分析如下:
C++
结构体
提供了比C
结构体
更多的功能,如默认构造函数,复制构造函数,运算符重载,这些功能使得
结构体
对象能够方便的传值。 比如,我定义一个简单的
结构体
,然后将其作为
vector
元素类型,要使用的话,就需要实现上述三个函数,否则就只能用指针了。 代码如下:#include
#include <
vector
> using namespace std; struct ST { int a; int b; ST() //默认构造函数 {
c++
算法基础(超级详细)
c++
算法基础(超级详细) 包含:
结构体
结构体
与模板 链表
vector
栈 队列 map set 递归基础 递归与辗转相除 递归
中
的参数 更复杂的递归 全排列问题 递归与回溯 超级赞 超详细 不懂可私聊问 求点赞关注五星好评
vector
排序
C++
中
当
vector
中
的数据类型为基本类型时我们调用std::sort函数很容易实现
vector
中
数据成员的升序和降序排序,然而当
vector
中
的数据类型为自定义
结构体
类型时,我们该怎样实现升序与降序排列呢?有两种方法,下面的例子能很好的说明
C++
基础入门教程(六):为什么创建类的时候要用new?
今天是关于指针初步介绍的最后一篇,也是能让初学者明白为什么类是new出来的、为什么某些变量会莫名被释
放
,以及为什么木头会这么聪明。 1.使用new创建动态
结构体
还记得我们的
结构体
吧?之前说过,
结构体
也是可以通过new来创建存储空间的,返回的是一个指向
结构体
类型空间的指针。 如下代码: 代码如下: struct Man { int age; int IQ; }; Man* pMan = new Man; pMan->IQ = 251; cout << pMan>IQ << “\n”; cout << (*pMa
探究在
C++
程序并发时保护共享数据的问题
我们先通过一个简单的代码来了解该问题。 同步问题 我们使用一个简单的
结构体
Counter,该
结构体
包含一个值以及一个方法用来改变这个值: struct Counter { int value; void increment(){ ++value; } }; 然后启动多个线程来修改
结构体
的值: int main(){ Counter counter; std::
vector
threads; for(int i = 0; i < 5; ++i){ threads.push_back(std::thread([&c
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章