熟悉c风格的矩阵定义,那么用纯c++特性vector如何定义一个矩阵呢?

 # include<vector>
# include <iostream>
int main()
{
using namespace std;
vector<vector<int>> array();
const int COL = ;
for ( int i=; i < ; i++)
{
array[i].resize(COL);
}
array[][] = ;
cout << "array[3][3]:" << array[][] << endl;
cout << "array的行数" << array.size() << endl;
cout << "array的列数" << array[].size() << endl;
system("pause");
return ; }

上述代码定义了3行4列的矩阵,主要是正确理解vector<vector<int>>array(3),我们应该如何理解?

回到vector的构造函数,array(3)表示使得向量array保留3个元素。即本质上,array是一个向量,这个向量的大小为3,;而这个向量的每个元素是vector<int>,即这个向量的每个元素是向量。当然每个元素的大小在第六行并未定义,可见array的本质是向量,并不是矩阵,并没有矩阵这个概念,矩阵只是向量的每个子元素也是向量,且恰巧这些子元素的长度也一致而已,仅此而已。

以及对array.size()和array[0].size()的理解。知道了对array的定义,自然我们就知道了array.size()表示的是向量array的长度,array[0].size()为其元素的长度。也就是本质上,我们应该只有向量的概念。

最新文章

  1. vux 获取后台数据
  2. Allegro转换PADS终极篇(转载)
  3. 通过select选项动态异步加载内容
  4. LaTeX中titlesec宏包的使用
  5. Linux-exec命令试验驱动(12)
  6. 论MVC中的传值
  7. iBatis第三章:iBatis的基本用法
  8. 二值化神经网络(BNN)基础学习(一)
  9. shell awk处理过滤100万条数据
  10. gulp使用入门
  11. 在github上创建自己的项目
  12. UVA 1379 - Pitcher Rotation(DP + 贪心)
  13. hdu2255 奔小康赚大钱 二分图最佳匹配--KM算法
  14. laravel读取memcached缓存并做条件查询
  15. JAVA 导出 Excel, JS 导出 Excel
  16. web服务器http.server 【python】
  17. [C++ Primer] 第7章: 类
  18. Packet Tracer 5.0 构建CCNA实验(3)—— 路由器实现vlan间通信
  19. ⑥ 设计模式的艺术-06.建造者(Builder)模式
  20. 串口通讯编程一日通3(COMMTIMEOUTS DCB整理)

热门文章

  1. symfony传参,接收参数,twig方法记录
  2. Nice to meet you for the first time .Why do I write blog!
  3. 10-SpringMVC04
  4. 1 Nginx + 12 Tomcat +2DB 实现2个程序负载均衡
  5. idea springboot 使用JRebel热部署
  6. MD5加密常用js库:crypto-js
  7. tensorflow开发环境版本组合
  8. kms在线激活windows和office
  9. 正则表达式过滤html注释内容
  10. MySQL 普通索引和唯一索引的区别