Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Некий_Чел
3 / 3 / 0
Регистрация: 27.05.2012
Сообщений: 114
#1

Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? - C++

11.02.2016, 09:28. Просмотров 935. Ответов 47
Метки нет (Все метки)

Раздражает писать так:
C++
1
return "";
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2016, 09:28     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса?
Посмотрите здесь:
C++ std::endl; и std::cout"/n"; - одно и то же?
C++ Чем отличается "\n" от std::endl?
Что применить "\n" или "endl"? C++
Какого типа std::endl ? Как сделать так, чтобы функция могла принимать endl в качестве аргумента? C++
C++ error C2886: std::cout: использование символа в "using"-объявлении члена не допускается
C++ Реализовать условие "больше или равно", "меньше или равно" для простых дробей в классе
Где взять файл Sales_item.h для книги Стенли Липпмана "C++ для начинающих" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nd2
2130 / 1702 / 601
Регистрация: 29.01.2016
Сообщений: 5,485
11.02.2016, 19:25     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #16
Цитата Сообщение от hoggy Посмотреть сообщение
нет такой функции.
А что же это тогда?
http://www.cplusplus.com/reference/o.../endl/?kw=endl
hoggy
6431 / 2649 / 460
Регистрация: 15.11.2014
Сообщений: 5,838
Завершенные тесты: 1
11.02.2016, 19:38     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #17
Цитата Сообщение от ForEveR Посмотреть сообщение
То, что по это манипулятор не делает его не функцией.
по вашей ссылке чем то смахивает на шаблон, не?

Цитата Сообщение от nd2 Посмотреть сообщение
А что же это тогда?
ого, действительно функция.
тогда беру свои слова обратно.

хотя конечно странно...
у меня почему то ни в гццешной, ни в студийной стандартной либе
эта функция не находится.

вы уверены, что это не просто синопсис,
и что такая функция действительно существует?

вот здесь почему то упоминаний о функции уже нет:
http://en.cppreference.com/w/cpp/io/manip/endl
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
11.02.2016, 19:42     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #18
Цитата Сообщение от hoggy Посмотреть сообщение
по вашей ссылке чем то смахивает на шаблон, не?
Шаблон. Это делает его не функцией?
Пример
hoggy
6431 / 2649 / 460
Регистрация: 15.11.2014
Сообщений: 5,838
Завершенные тесты: 1
11.02.2016, 19:44     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #19
Цитата Сообщение от ForEveR Посмотреть сообщение
Шаблон. Это делает его не функцией?
разве это не очевидно?

шаблон - рецепт, на основе которого,
компилятору ещё только предстоит сгенерировать функцию.
Fallenworld
76 / 76 / 9
Регистрация: 14.04.2014
Сообщений: 408
11.02.2016, 19:51     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #20
C++
1
2
3
4
5
 
 template<typename _CharT, typename _Traits>
    inline basic_ostream<_CharT, _Traits>&
    endl(basic_ostream<_CharT, _Traits>& __os)
    { return flush(__os.put(__os.widen('\n'))); }
это действительно шаблон функции.Я думал, что это функтор, но нет.
nd2
2130 / 1702 / 601
Регистрация: 29.01.2016
Сообщений: 5,485
11.02.2016, 20:00     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #21
Цитата Сообщение от hoggy Посмотреть сообщение
вы уверены, что это не просто синопсис,
и что такая функция действительно существует?
Input manipulators (functions):
endl : Insert newline and flush (function )
ends : Insert null character (function )
flush : Flush stream buffer (function )
http://www.cplusplus.com/reference/ostream/
hoggy
6431 / 2649 / 460
Регистрация: 15.11.2014
Сообщений: 5,838
Завершенные тесты: 1
11.02.2016, 20:12     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #22
Цитата Сообщение от Некий_Чел Посмотреть сообщение
Раздражает писать так:
о, кстати.
http://en.cppreference.com/w/cpp/io/manip/ends

то шо доктор прописал))

Цитата Сообщение от nd2 Посмотреть сообщение
http://www.cplusplus.com/reference/ostream/
я http://en.cppreference.com больше доверяю.
по двум причинам:
1. я нефига не встречал этих функций в природе.
2. http://en.cppreference.com лучше отвечает стандарту

3. сейчас специально загуглил стандарт,
http://www.open-std.org/JTC1/SC22/WG...2013/n3690.pdf
27.7 Formatting and manipulators
согласно стандарту,
http://www.cplusplus.com/reference
нагло лжет.

нет таких функций.
только шаблоны.
FraidZZ
Ex-Member
3897 / 1523 / 229
Регистрация: 06.01.2013
Сообщений: 4,050
Завершенные тесты: 1
11.02.2016, 20:33     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #23
Цитата Сообщение от hoggy Посмотреть сообщение
только шаблоны.
шаблоны функций.
nd2
2130 / 1702 / 601
Регистрация: 29.01.2016
Сообщений: 5,485
11.02.2016, 20:35     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #24
Цитата Сообщение от hoggy Посмотреть сообщение
я http://en.cppreference.com больше доверяю.
http://en.cppreference.com/w/cpp/io/basic_ostream/flush
Миниатюры
Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса?  
hoggy
6431 / 2649 / 460
Регистрация: 15.11.2014
Сообщений: 5,838
Завершенные тесты: 1
11.02.2016, 20:37     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #25
Цитата Сообщение от FraidZZ Посмотреть сообщение
шаблоны функций.
вы написали это так, словно шаблоны функций
шаблонами не являются

Цитата Сообщение от nd2 Посмотреть сообщение
http://en.cppreference.com/w/cpp/io/basic_ostream/flush
вы там красненьким чего подчеркнули?
на русский сможете перевести?
nd2
2130 / 1702 / 601
Регистрация: 29.01.2016
Сообщений: 5,485
11.02.2016, 21:05     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #26
Цитата Сообщение от hoggy Посмотреть сообщение
вы написали это так, словно шаблоны функций
шаблонами не являются
Цитата Сообщение от hoggy Посмотреть сообщение
нет таких функций.
только шаблоны.
А вы так написали, словно шаблоны функций - это шаблоны не функций, а чего-то другого.
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
11.02.2016, 21:15     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #27
Цитата Сообщение от hoggy Посмотреть сообщение
сейчас специально загуглил стандарт,
посмотрите 27.7.3.8:
template <class charT, class traits>
basic_ostream<charT,traits>& endl(basic_ostream<charT,traits>& os);
1 Effects: Calls os.put(os.widen(’\n’)), then os.flush().
2 Returns: os.
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
11.02.2016, 21:18     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #28
В общем, как пишет Страуструп:
There are people who make semantic distinctions between the terms class template and template class. I don’t; that would be too subtle: please consider those terms interchangeable. Similarly, I consider function template interchangeable with template function.
hoggy
6431 / 2649 / 460
Регистрация: 15.11.2014
Сообщений: 5,838
Завершенные тесты: 1
11.02.2016, 23:52     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса? #29
Цитата Сообщение от nd2 Посмотреть сообщение
А вы так написали, словно шаблоны функций - это шаблоны не функций, а чего-то другого.
нет.
я очень конкретно написал так, словно шаблоны функций - это не функции.

Добавлено через 38 секунд
Цитата Сообщение от S_el Посмотреть сообщение
посмотрите 27.7.3.8:
посмотрел.

мне одному тут мерещиццо, будто бы это - шаблон?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2016, 23:55     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса?
Еще ссылки по теме:
Для чего в коде нужна строка "using namespace std"? C++
C++ Дана строка, в котором есть слово "да" или слово "нет". Если в нем есть слово "нет", то удалить его
C++ Призапуске не происходит не чего... Просто пустой экран с надписью"нажмите кнопку для продолжения"
Как, каким образом "скомпилировать" код для С или С++? C++
C++ Обчисление введенной строки любого формата(пример:"(2+3)/4*2"или"2+3"или ...)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ForEveR
11.02.2016, 23:55     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса?
  #30

Не по теме:

hoggy, Это дикое буквоедство. В таком случае стандартные операторы вывода в поток это еще не операторы, а шаблоны операторов. Вектор это еще не класс, а шаблон класса. Ну и STL алгоритмы конечно тоже не функции еще. Не стоит заострять на этом внимание, проще сказать, что есть функция endl и это будет корректно.

Yandex
Объявления
11.02.2016, 23:55     Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru