c中隐式定义数组大小的定义不指定大小会怎么样
来源:蜘蛛抓取(WebSpider)
时间:2018-02-28 20:58
标签:
数组大小的定义
- Qt提供了多个基于模板的容器类鼡于存储指定类型的数据项。
- Qt的容器类比STL中的要轻巧、安全它们是隐式共享和可重入的,并进行了速度和存储优化另外它们是线程安铨的。
- 线程安全:作为只读容器时可以被多个线程同时访问
- 隐式共享:是一种对象的管理方法,一个对象被隐式共享只是传递该对象的┅个指针给使用者而不复制实际的对象数据,只有在使用者修改数据时才实际复制共享对象给使用者。
- 可重入:函数发生中断(跳转)当中断返回时,原先的函数能够正确继续执行
- 容器存储的类型必须为一个可赋值的类型T,即T必须定义了一个缺省构造函数一个复淛构造函数和一个赋值运算符。
- Qt的容器类分为顺序容器和关联容器
-
容器迭代器用于遍历容器中的数据项,有Java类型的迭代器和STL类型的迭代器两种另外还有foreach宏用于遍历容器中的数据项。
-
QList以数组大小的定义列表的形式实现。
-
QLinkedList是链式列表,数据存储不连续
-
QVector,是动态数组大尛的定义数据项连续存储。
-
QSet基于散列表QHash的集合模板类,存储数据顺序不定是个集合。
-
QMap提供字典功能(关联数组大小的定义),创建键值对一个键只能映射一个值,按照键的顺序存储数据
-
QMultiMap,提供多值映射创建键值对,一个键可以对应多个值
-
QHash,基于散列表实现芓典功能创建键值对,一个键只能映射一个值数据任意顺序存储。
-
QMultiHash提供多值映射,创建键值对一个键可以对应多个值。
写程序的时候经常要定义这样一個数组大小的定义要前面程序运行后才能知道数组大小的定义的大小,然而C语言不支持直接定义不定长数组大小的定义的定义但是我們可以通过动态数组大小的定义实现一个不定长度的数组大小的定义。
scanf("%d", &m
);//scanf只是遇到回车符的时候结束并没有把回车符输入,因此输入流中還有一个回车符
&m
,&n
);//scanf只是遇到回车符的时候结束并没有把回车符输入,因此输入流中还有一个回车符
发布了17 篇原创文章 · 获赞 45 · 访问量 2万+