为什么将floats推到向量时,为什么要获得零
Why do I get zero when pushing_back floats to a vector?
在测试某个某个时,我创建了一个类型float的向量,并将值1/i放入该向量;但是,在读取值时,将输出打印为整数而不是浮动。
#include <stdio.h>
#include <vector>
#include <iterator>
int main(int argc, char const *argv[])
{
std::vector<float> testVec;
for (int i = 1; i < 5; ++i)
{
float v = 1/i;
testVec.push_back(v);
}
std::vector< float >::iterator it = testVec.begin();
for (; it!=testVec.end(); ++it)
{
printf("The value of the iterator: %f, *it);
}
return 0;
}
那么,这有什么问题?它与迭代器有关吗?我的意思是我对他们的经验不多。
您问题背后的原因是 1/i
CC_1属于类型的整数是 Integer Arithmetic ,并且会给整数作为输出。
1.0
代替1
会为您提供帮助。:)
相关文章:
- 为什么向量内部的指针在从函数返回时会发生变化?
- 为什么向量不在代码块中运行?
- 为什么向量的.at()成员函数返回引用而不是迭代器
- 为什么向量不支持 size 作为成员变量,就像 Java 类中的长度变量一样,而是函数 size()?
- 为什么C++向量没有串联运算符?
- 为什么向量"emplace_back"在多个线程中的行为比单个线程慢得多
- 为什么 c++ 向量没有"delete by index"?
- 为什么C++向量大小从 4294967296 开始,而调试器将其读取为 0?
- 在 Boost.Spirit 中,为什么向量(包裹在结构中)需要融合包装器,而不是变体?
- 为什么向量具有不同的容量,而不是大小
- 为什么向量的数据类型在C++的尖括号内声明
- 为什么向量和地图搜索比静态比较要慢得多
- 为什么向量分配会改变分配的向量
- 为什么向量不是<bool> STL 容器?
- 为什么向量中的元素需要是可复制的
- 为什么向量被视为按值传递,即使它是通过常量引用传递的
- 为什么向量的容量在传递给函数后变得等于它的大小?
- 为什么向量指针占用这么多内存?
- 为什么c++向量会导致oom杀手
- 为什么向量总是比C数组慢,至少在这种情况下