По дефолту, в VS 2017 требуется директива stdafx.h.
Подключается в самом начале #include "stdafx.h"
Не помню зачем оно нужно, вроде для подключения предкомпиляторов и компиляторов.
Это исключительно особенность Vusial Studio.
З.Ы.: Не используй using namespace std;
Скажем так, это исключительно ради достаточных условий работы программы.
Сама по себе эта строка подключает пространство стандартных имён. Но дело в том, из этого пространства ты используешь в разы меньше, чем оно в себе содержит.
Поэтому в целях меньшего количества различных использований пространств имён - используй исключительное std::
К примеру :
std::cout << "Hello,wolrd\n";
std::cin>>a;
std::abs(a);
З.Ы.Ы.: Если у тебя не читается какой поток или операция на переменной - скорее всего проблема в заголовочных файлах.
К примеру, size_t может используется для хранения максимально возможного размера данных. Даже массивов. Но память соответственно он жрёт не по-детски. Для этого лучше использовать auto.
auto x - подбирается автоматически необходимый тип данных
К примеру :
vector<string> array = {"a","b","c","d"};
for(auto x : array){
std::cout<<x;
}
Согласись, это удобнее, чем перебирать все элементы вектора поэлементно , если условие for будет (int i = 0; i < arrray.size(); ++i ). Тогда выводить будем через std::cout<<arrray[i];
НО Я НЕ ОБ ЭТОМ. size_t требует тоже префикса std.
std::size_t x;
Но для использования нужны ещё и заголовочные файлы
#include <cstddef>
#include <cstdio>
#include <cstring>
Честно говоря, не помню, вроде не обязательно все подключать, а какой-то один. Лично я редко пользуюсь size_t, потому что в него нельзя записывать указатели на классы. Это нас и ограничивает в size_t.
Последний раз редактировалось MercuryANEZ; 05.03.2018 в 12:47.
Maksimus1200 (05.03.2018)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)