相关疑难解决方法(0)

将向量初始化为零C++/C++ 11

我知道在C++ 11中他们添加了将变量初始化为零的功能

double number = {}; // number = 0
int data{};  // data = 0
Run Code Online (Sandbox Code Playgroud)

是否有类似的方法将std::vector固定长度初始化为全零?

c++ c++11

92
推荐指数
2
解决办法
16万
查看次数

使用istream_iterators构造向量

我记得曾经看到过使用迭代器将一个完整的二进制文件读入一个向量的巧妙方法.它看起来像这样:

#include <fstream>
#include <ios>
#include <iostream>
#include <vector>

using namespace std;

int main() {
    ifstream source("myfile.dat", ios::in | ios::binary);
    vector<char> data(istream_iterator(source), ???);
    // do stuff with data
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我们的想法是vector通过传递指定整个流的输入迭代器来使用's iterator范围构造函数.问题是我不确定要为最终迭代器传递什么.

你如何创建istream_iterator一个文件的结尾?我完全记错了这个成语吗?

c++ iterator stl vector

13
推荐指数
2
解决办法
8353
查看次数

标签 统计

c++ ×2

c++11 ×1

iterator ×1

stl ×1

vector ×1