Помощь - Поиск - Пользователи - Календарь
Полная версия: c++
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Client
Привет
В билдере для ввода/вывода подключаю iostream.h. А что надо подключить для VS2008 чтобы можно было вводить cin>>x (например) ?
И какая разница между int и Int (с помщью int описываю переменные, а для чего Int (с большой буквы))?
volvo
Цитата
В билдере для ввода/вывода подключаю iostream.h. А что надо подключить для VS2008 чтобы можно было вводить cin>>x (например) ?
Ни разу не iostream.h надо использовать, а просто iostream... iostream.h - это устаревшая версия, без пространства имен std. То же самое касается и любого другого компилятора, cin всегда и везде описан именно в этом файле...

Цитата
а для чего Int (с большой буквы))?
А для чего тебе Хелп? Кнопка F1 западает, или сломалась?
Client
создал консольное приложение Вин32, добавил модуль, переменную и cin. Ошибка на скрине.
В справке Int - класс, есть int-поле, int- свойство... Вообщем какой именно даже не знаю. На int в справке несколько листов.

Добавлено через 2 мин.
а все понял, надо добавить using namespace std; unsure.gif
volvo
Цитата
В справке Int - класс, есть int-поле, int- свойство... Вообщем какой именно даже не знаю.
Тогда, если можно, объясни, откуда у тебя вообще возник такой вопрос? С чего вдруг ты заинтересовался Int-ом? На твоем втором скриншоте ни разу не топик о С++, это Шарп...

P.S. А почему у тебя iostream в кавычках, а не в угловых скобках?
Client
Цитата
А почему у тебя iostream в кавычках, а не в угловых скобках?
Скорей всего потому, что и
#include "stdafx.h"
в кавычках (это строка создалась сама с проетом вместе)
volvo
Неправильная логика... "stdafx.h" в кавычках - потому что находится в папке с проектом. А iostream находится в другом месте, поэтому должен быть в угловых скобках.
Client
а как узнать какой файл писать в кавычках, а какой в угловых скобках? (.h в папке с проектом?)
volvo
У тебя что, iostream находится в ТВОЕМ проекте? Совсем с ума MS сошла...

В нормальных компиляторах принято, что в кавычках пишется то, что находится в твоем проекте. А все, что касается стандартной библиотеки - оно в угловых.
Client
Спасибо, я всего лишь 1 файл подключаю пока, вот и спросил на будущее
Krjuger
volvo,в MS действительно есть такое дело,что даже если ты поставиш в кавычки, то компилятор это скушает и даже предупреждения не выдаст,несмотря на то что включены все предупреждени,на работоспособность вроде как это не влияет,но тут ключевое слово вроде,потому что более менее стоищей инфы я по этому поводу найти не смог,да и опытным путем проверить не получилось.
Client
Я же тебе уже вроде писал про iostream.h.
Еще как бы я,когда только только начинал осваивать,я создавал консольное приложение вин32,но создавал пустой проект,затем добавлял .сср файл и там уже работал,не знаю,как тебе,но мне так было просто удобнее.

Кстати,если вопрос по поводу "cin" еще в силе,то пропиши перед твоей функцией using namespace std; и все заработает.А еще мне немного не понятно зачем ты основную функцию так объявляеш...
Изображение
volvo
Вообще-то, MS тут ни при чем, поскольку такое поведение прописано в Стандарте языка:
Цитата(С++ Standard:16.2)
A preprocessing directive of the form
# include "q-char-sequence" new-line
causes the replacement of that directive by the entire contents of the source file identified by the specified sequence between the " delimiters. The named source file is searched for in an implementation-defined manner. If this search is not supported, or if the search fails, the directive is reprocessed as if it read
# include <h-char-sequence> new-line
with the identical contained sequence (including > characters, if any) from the original directive.
, то есть, если директива
#include "имя_файла"
этого файла не нашла, то автоматически обрабатывает
#include <имя_файла>
... НО... Это увеличивает время компиляции. Зачем это делать, если можно сразу указать компилятору, что библиотечный файл должен быть именно в библиотечной папке, а не в папке проекта? Чем больше таких вот лишних движений делает компилятор, тем дольше ты ждешь окончания сборки проекта.

Я ж говорю "принято", а не "обязано быть"...
Client
Цитата
А еще мне немного не понятно зачем ты основную функцию так объявляеш...
Ты про ее название, то что она не main? если так, то это это не я smile.gif
Krjuger
Я про передачу параметров твоей функции,если бы у тебя были файлы в которых хранилась информация,то я еще понял бы,а так конкретно для твоей программы это бессмысленный груз....На счет названия....почему же она не мейн,она мейн,только немного другой.

int main(int argc, char *argv[]) {} // ansi
int wmain(int argc, wchar_t *argv[]) {} // unicode
int _tmain(int argc, TCHAR *argv[]) {} // подставляет функцию main или wmain в зависимости от настроек проекта.


вот 3 разных прототипа и заодно чем они отличаются.И все они мейны,а вот если ты попробуей какую нибуть билеберду написать,то тут тебе компилятор поругается.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.