c++ - 向量的内容似乎为空,但为其分配了一个值(C++)
问题描述
这可能是一个非常基本的 C++ 问题,但我对 C++ 很陌生,因此感谢您的耐心和帮助。
我不太清楚为什么下面的代码无法打印出矩阵的内容。我应该提到,变量K
是整数 3。
std::vector<uint8_t> enc_matrix;
for(size_t i = 0; i != K; ++i) {
enc_matrix[i*(K+1)] = 1;
cout << "enc_matrix: " << enc_matrix[i*(K+1)] << endl;
// cout << enc_matrix.at(i*(K+1)) //doesn't show anything either
cout << "i: " << i*(K+1) << endl;
}
无论出于何种原因,什么都不会被打印出来,enc_matrix[i*(K+1)]
但结果i*(K+1)
会被打印出来。以下是打印的内容:
enc_matrx:
i: 0
enc_matrx:
i: 4
enc_matrx:
i: 8
我不确定它是否与矩阵的类型有关,所以我在下面提供了附加信息:
typeid(enc_matrix[0]).name()
=>h
和
typeid(enc_matrix).name()
=>St6vectorIhSaIhEE
为什么enc_matrix
没有打印出来?我希望在等于 0、4 和 81
时看到分配给它。谢谢。i
解决方案
推荐阅读
- python - 使用 Python 将存储传输作业从一个谷歌云存储区域转移到另一个“无法重写对象”。
- linux - Linux 中 RAW 图像的范围是多少?
- javascript - 单击切换时更改徽标的 css 属性
- angular - 尝试使用 jsPdf 从 html 创建 pdf 时出错
- android - MVP设计模式实践观察
- php - 过滤 laravel 查询时忽略 whereIn
- phpunit - 如何在测试过程中停止 PHPUnit 但仍然获得失败/报告列表?
- javascript - “未捕获的 TypeError:无法读取未定义的属性 'stop'” on autoplay.stop() (Swiper)
- vba - 通过字典键时要求定义变量的 VBA 错误
- nginx - AMP HTML amp-ads - 阻止的帧、协议、域和端口必须匹配