c++ - 如何解释多维向量?
问题描述
我不明白多维向量的语法。
多维数组非常简单。
foo[3][5];
那是 5 个元素,每个元素 3 个元素。
向量并不是那么直截了当。
vector<vector<int>> foo(n);
我对每个 foo 都读过这个,“类型”是向量。将一个向量用于另一个向量的类型如何使它成为二维的?而且,vector<int>
仍然与具有标识符的向量相同,具有空整数的向量吗?
解决方案
你对int foo[3][5];
正确的理解是:它是一个由三个内部数组组成的外部数组,每个数组包含 5 个整数。
为了这个讨论,过度简化了一点,但如果你认为数组和向量是可互换vector<vector<int>> foo;
的,那并没有什么不同。
它是一个外部向量,每个成员都是一个包含整数的内部向量。
因此,就矩阵而言,外部数组/向量是列,内部数组/向量是行。真的没有那么不同。行/列的性质使它成为二维的。
没有任何论据表明实现在幕后非常不同,但是当您使用它们时,它们的行为将彼此非常相似。
推荐阅读
- java - 复合语句总是 1 块吗?
- c# - 为什么在 TextMesh 上切换文本时只切换一个对象?
- typescript - 为什么默认禁用 TypeScript 中的不安全/非严格编译器规则?
- php - 文件获取内容检索问题菱形字符
- c++ - 如何使用管理员权限运行 EXE
- mysql - 在 MySQL 表的基于范围的分区中确定分区键
- python - 如何解决在 Django 中执行 manage.py runserver 命令时的错误原因?
- flutter - Flutter:如何以编程方式打开抽屉
- spring-boot - 自动部署 Spring Boot 应用程序文件更改,无需手动重启
- intellij-idea - IntelliJ 不允许某些按键