--- Rat(mass) --- Вот и всё.
» Вопросы по программированию на C/С++
nobody2
Цитата:
Так я и написал, а ты процитировал:
Цитата:
Некоторые авторы называют их переменные-члены класса, поля данных...
Цитата:
Или ты имел в виду описание (declaration) класса?
Так я и написал, а ты процитировал:
Цитата:
Переменные класса как раз определяют в h-файлах
Некоторые авторы называют их переменные-члены класса, поля данных...
Переменная класса - звучит двусмысленно:
Код: TPoint p; // это тоже переменная класса
Код: TPoint p; // это тоже переменная класса
nobody2
Цитата:
Вполне ''законно''.
Внутри класса может быть инкапсулирован другой класс.
Цитата:
TPoint p; // это тоже переменная класса
Вполне ''законно''.
Внутри класса может быть инкапсулирован другой класс.
почему работают по разному?
-------------------------------
cout << "Hello, world! \n";
printf("%s\n","By, world!");
--------------------------------
-------------------------------
cout << "Hello, world!" << endl;
printf("%s\n","By, world!");
--------------------------------
-------------------------------
cout << "Hello, world! \n";
printf("%s\n","By, world!");
--------------------------------
-------------------------------
cout << "Hello, world!" << endl;
printf("%s\n","By, world!");
--------------------------------
RedMac
Цитата:
у меня идентично - в чем разница, какой компилятор?
Цитата:
почему работают по разному?
у меня идентично - в чем разница, какой компилятор?
WiseAlex
MS Studio VC++ 6.0
MS Studio VC++ 6.0
RedMac
так в чем разница работы - напиши что программа выводит
так в чем разница работы - напиши что программа выводит
в первом случае
By, world!
Hello, world!
во втором случае
Hello, world!
By, world!
By, world!
Hello, world!
во втором случае
Hello, world!
By, world!
RedMac
Классный примерчик. Может, endl на cout заодно и flush делает?
Классный примерчик. Может, endl на cout заодно и flush делает?
Karlsberg
Цитата:
может быть и так или потоки не связаны нормально, похоже глюк именно VC6 - на 7.1 OK(проверил debug release)
Цитата:
Классный примерчик. Может, endl на cout заодно и flush делает?
может быть и так или потоки не связаны нормально, похоже глюк именно VC6 - на 7.1 OK(проверил debug release)
Ввод-вывод в С/С++ может смешиваться, но для того чтобы ввод-вывод с стиле С и ввод-вывод в стиле С++ имели общие буферы необходимо вызвать функцию:
std::ios_base::sync_with_stdio(true);
Это то что требуется по стандарту. Вопрос в реализации. Попробуй вставить вызов этой функции и скажи результат если не сложно.
std::ios_base::sync_with_stdio(true);
Это то что требуется по стандарту. Вопрос в реализации. Попробуй вставить вызов этой функции и скажи результат если не сложно.
vndovr
Спасибо. Попробую, щаз под рукой нет. Но вот попробовал на 5 с++ билдере без
std::ios_base::sync_with_stdio(true);
выводит
Hello, world!
By, world!
Hello, world!
By, world!
Тогда просто непонятно кто в данном случае более строго выдерживает стандарт, если ты говоришь, что
std::ios_base::sync_with_stdio(true);
нужна по стандарту
Спасибо. Попробую, щаз под рукой нет. Но вот попробовал на 5 с++ билдере без
std::ios_base::sync_with_stdio(true);
выводит
Hello, world!
By, world!
Hello, world!
By, world!
Тогда просто непонятно кто в данном случае более строго выдерживает стандарт, если ты говоришь, что
std::ios_base::sync_with_stdio(true);
нужна по стандарту
Karlsberg
Цитата:
Делает. И это фича, а не баг.
Из MSDN:
Цитата:
Цитата:
Классный примерчик. Может, endl на cout заодно и flush делает?
Делает. И это фича, а не баг.
Из MSDN:
Цитата:
endl
Terminates a line and flushes the buffer.
...
f_serg
Цитата:
Совершенно верно.
Такие ''фокусы'' любят спрашивать на интервью.
Цитата:
Делает. И это фича, а не баг.
Из MSDN: endl
Terminates a line and flushes the buffer.
Совершенно верно.
Такие ''фокусы'' любят спрашивать на интервью.
f_serg
Я и не говорил, что баг
Правда, и времени не нашел MSDN покопать
Я и не говорил, что баг
Правда, и времени не нашел MSDN покопать
mihas83
А ты часом не знаешь где можно нарыть примеры "вопросов из интервью"?
А ты часом не знаешь где можно нарыть примеры "вопросов из интервью"?
mihas83
Цитата:
Пардон, за такие вопросы на интервью можно и канделябром в голову... У нас так низко еще не пали...
Цитата:
Такие ''фокусы'' любят спрашивать на интервью.
Пардон, за такие вопросы на интервью можно и канделябром в голову... У нас так низко еще не пали...
Karlsberg
Цитата:
Не проходит...
Где у Вас?
Цитата:
Это дело штучное.
Можно было бы открыть отд. топик для обмена.
Цитата:
Пардон, за такие вопросы на интервью можно и канделябром в голову... У нас так низко еще не пали...
Не проходит...
Где у Вас?
Цитата:
А ты часом не знаешь где можно нарыть примеры "вопросов из интервью"?
Это дело штучное.
Можно было бы открыть отд. топик для обмена.
mihas83
Цитата:
Можно не отвечать?
RedMac
Лучше поговорить с народом, который уже был в этой фирме на интервью, потому как у людей разные темы для вопросов. Но насколько мне обьясняли, проверяют не столько знания, сколько способность думать и находить решения.
Опять пардон, офтопик вышел...
Цитата:
Где у Вас?
Можно не отвечать?
RedMac
Лучше поговорить с народом, который уже был в этой фирме на интервью, потому как у людей разные темы для вопросов. Но насколько мне обьясняли, проверяют не столько знания, сколько способность думать и находить решения.
Опять пардон, офтопик вышел...
Стандарт на библиотеку ввода-вывода С++ - сейчас нашел ссылку:
Цитата:
век живи...
Цитата:
Insert a new-line character in the stream and if the stream is a buffered stream then flushes (see flush) it.
век живи...
vndovr
как я понял и endl и \n делают flush - так что это дибо
Цитата:
как я понял и endl и \n делают flush - так что это дибо
Цитата:
std::ios_base::sync_with_stdio(true);не включенио по-умолчанию либо баг (впрочем в 6 поддержка stl довольно книвая)
WiseAlex
Не совсем
\n не делает flush. std::endl делает.
Пример его определения (endl):
Код:
template<class charT, class traits>
inline basic_ostream<charT, traits>&
endl(basic_ostream<charT, traits>& os)
{
os.put( charT('\n') );
os.flush();
return os;
}
Не совсем
\n не делает flush. std::endl делает.
Пример его определения (endl):
Код:
template<class charT, class traits>
inline basic_ostream<charT, traits>&
endl(basic_ostream<charT, traits>& os)
{
os.put( charT('\n') );
os.flush();
return os;
}
vndovr
не совсем внимательно прочитал
Цитата:
тогда почему в 7.1 нормально
кстати кто компилит intel компилятором в 6 - попробуйте что получится
не совсем внимательно прочитал
Цитата:
sync_with_stdio() - по умолчанию не включен.
тогда почему в 7.1 нормально
кстати кто компилит intel компилятором в 6 - попробуйте что получится
WiseAlex
Цитата:
Для справки, cout, cin, endl и т.д. (#include <iostream>) никакого отношения к stl не имеет, это все должно быть в ANSI-C++ компиляторах (namespace std).
Цитата:
впрочем в 6 поддержка stl довольно книвая
Для справки, cout, cin, endl и т.д. (#include <iostream>) никакого отношения к stl не имеет, это все должно быть в ANSI-C++ компиляторах (namespace std).
WiseAlex
Скажем так: если sync_with_stdio() вызван то буферы будут синхронизированы. Если не вызван - то это просто ничего не значит - реализация целиком зависит от производителя библиотеки, т.е. что бы не произошло - все будет правильно.
Swappp
Сейчас уже не стоит проводить такую жесткую грань
И то и то - просто часть стандартной библиотеки - Stl тоже часть стандарта. К примеру: в CBuilder - 6-ки - с ней поставляются 2 библиотеки - Rogue Wave (включает в себя и Stl и I/O) и StlPort - которая тоже включает в себя и Stl и I/O.
Под VC тоже многие ставят StlPort - имеет смысл т.к. она портируется на массу платформ.
Немного оффтоп: есть еще и boost с++ library - очень полезная библиотека - некоторые вещи оттуда тоже перетекают в стандартную библиотеку.
Скажем так: если sync_with_stdio() вызван то буферы будут синхронизированы. Если не вызван - то это просто ничего не значит - реализация целиком зависит от производителя библиотеки, т.е. что бы не произошло - все будет правильно.
Swappp
Сейчас уже не стоит проводить такую жесткую грань
И то и то - просто часть стандартной библиотеки - Stl тоже часть стандарта. К примеру: в CBuilder - 6-ки - с ней поставляются 2 библиотеки - Rogue Wave (включает в себя и Stl и I/O) и StlPort - которая тоже включает в себя и Stl и I/O.
Под VC тоже многие ставят StlPort - имеет смысл т.к. она портируется на массу платформ.
Немного оффтоп: есть еще и boost с++ library - очень полезная библиотека - некоторые вещи оттуда тоже перетекают в стандартную библиотеку.
vndovr
Цитата:
какая грань? STL это отдельная библиотека (Standard Template Library) в которую не входит iostream, так, что грань есть в стандарте.
Цитата:
что то не понимаю... не надо ориентироваться на один компилятор. Я использую VS.NET C++ и gcc, ни каких stlport не ставлю, везде нормально компилируется с родной реализацией STL.
Цитата:
Сейчас уже не стоит проводить такую жесткую грань
какая грань? STL это отдельная библиотека (Standard Template Library) в которую не входит iostream, так, что грань есть в стандарте.
Цитата:
Под VC тоже многие ставят StlPort - имеет смысл т.к. она портируется на массу платформ.
что то не понимаю... не надо ориентироваться на один компилятор. Я использую VS.NET C++ и gcc, ни каких stlport не ставлю, везде нормально компилируется с родной реализацией STL.
Цитата:
STL это отдельная библиотека
Сейчас это часть стандартной библиотеки - поэтому не выделяю - для меня лично и Stl и IO просто часть языка. Если выделять просто по той причине что в стандарте ей отдельная глава посвящена то и, к примеру, про обработку исключений или шаблоны можно сказать то же самое.
Само собой - не настаиваю
Цитата:
что то не понимаю... не надо ориентироваться на один компилятор. Я использую VS.NET C++ и gcc, ни каких stlport не ставлю, везде нормально компилируется с родной реализацией STL.
Не совсем понял - а кто ориентируется? Я про версию VC вроде ничего не писал. А Stlport ставится для версий от 4.x до 6.x. Или ты хочешь сказать что в 4-й реализация стандартной библиотеки соответствует стандарту?
Для того чтобы не ориентироваться и ставят...
Плз помогите куском кода...
надо на С создать список всех видимых окон в винде..
надо на С создать список всех видимых окон в винде..
vndovr
Цитата:
но ведь разные части
Цитата:
А, я значит не правильно понял. Просто с C++ builder дело не имел и предпочитаю компиляторы котрые сразу соответствуют стандарту.
Цитата:
для меня лично и Stl и IO просто часть языка.
но ведь разные части
Цитата:
А Stlport ставится для версий от 4.x до 6.x. Или ты хочешь сказать что в 4-й реализация стандартной библиотеки соответствует стандарту?
А, я значит не правильно понял. Просто с C++ builder дело не имел и предпочитаю компиляторы котрые сразу соответствуют стандарту.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
Предыдущая тема: не знаю как назвать тему :-)
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.