Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
16 / 16 / 11
Регистрация: 28.10.2016
Сообщений: 75
1

Какого типа std::endl ? Как сделать так, чтобы функция могла принимать endl в качестве аргумента?

06.04.2017, 19:36. Показов 1987. Ответов 5
Метки нет (Все метки)

Что надо указать в прототипе функции, чтобы можно передавать std::endl в качестве аргумента? Уже 3 часа голову ломаю! Помогите, прошу! Заранее спасибо!

P.s. Какая разница, зачем? Надо!
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2017, 19:36
Ответы с готовыми решениями:

Манипулятор std::endl
Добрый день! Манипулятор std::endl - это некая глобальная функция, но почему она пишется без...

Ошибка в std::cout<<std::endl
есть следующая задача: -создать класс множество целых чисел. перегрузить операторы для следующих...

#include <listream>. Std. Endl
#include &lt;conio.h&gt; #include &lt;lostream&gt; using std:: cout; using std:: endl; int main() ...

Как переопределить функцию так, чтобы она не только могла принимать разные параметры, но и возвращать тоже разные?
То есть я считаю несправедливым, если такое проканывает: void f () {;} void f (int) {;} а...

5
62 / 62 / 39
Регистрация: 18.11.2016
Сообщений: 562
06.04.2017, 19:53 2
std::endl; - перевод строки и очистка потока.
Имеете ввиду так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <Windows.h>
 
 
void myfunc (std::string mystr){
    std::cout << "Вызов из функции: ";
    std::cout << mystr << std::endl;
}
 
int main(){
 
    SetConsoleCP (1251);
    SetConsoleOutputCP (1251);
 
    std::string str;
    std::cout << "Введите строку: ";
    std::cin >> str;
    myfunc (str);
    
    system ("pause");
    return 0;
}
0
nd2
3416 / 2796 / 1251
Регистрация: 29.01.2016
Сообщений: 9,426
06.04.2017, 19:56 3
Цитата Сообщение от Photofenix Посмотреть сообщение
Имеете ввиду так?
Ясно же написано:
Цитата Сообщение от Kodirovsshik Посмотреть сообщение
передавать std::endl в качестве аргумента
0
1495 / 788 / 174
Регистрация: 05.12.2015
Сообщений: 2,363
06.04.2017, 19:57 4
Лучший ответ Сообщение было отмечено Kodirovsshik как решение

Решение

Цитата Сообщение от Kodirovsshik Посмотреть сообщение
std::endl в качестве аргумента? Уже 3 часа голову ломаю!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
template<class _Elem, class _Traits>
void foo(std::basic_ostream<_Elem, _Traits>& os, std::basic_ostream<_Elem, _Traits>& (*param)(std::basic_ostream<_Elem, _Traits>&))
{
    os << param;
}
 
void bar(std::ostream& os, std::ostream&(*param)(std::ostream&)) // без шаблона, для char-овых потоков
{
    os << param;
}
 
int main()
{
    std::cout << "Hello,";
    foo(std::cout, std::endl);
    bar(std::cout, std::endl);
    std::cout << "world!";
}
1
шКодер самоучка
2145 / 1856 / 907
Регистрация: 09.10.2013
Сообщений: 4,055
Записей в блоге: 7
06.04.2017, 20:00 5
Цитата Сообщение от Kodirovsshik Посмотреть сообщение
Какого типа std::endl
std::endl по сути является шаблоном функции
0
16 / 16 / 11
Регистрация: 28.10.2016
Сообщений: 75
07.04.2017, 21:16  [ТС] 6
Цитата Сообщение от avgoor Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
template<class _Elem, class _Traits>
void foo(std::basic_ostream<_Elem, _Traits>& os, std::basic_ostream<_Elem, _Traits>& (*param)(std::basic_ostream<_Elem, _Traits>&))
{
    os << param;
}
 
void bar(std::ostream& os, std::ostream&(*param)(std::ostream&)) // без шаблона, для char-овых потоков
{
    os << param;
}
 
int main()
{
    std::cout << "Hello,";
    foo(std::cout, std::endl);
    bar(std::cout, std::endl);
    std::cout << "world!";
}
Спасибо вам огромное!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2017, 21:16

std::endl; и std::cout"/n"; - одно и то же?
Весь вопрос в теме.... std::endl; и std::cout&lt;&lt;&quot;/n&quot;; - одно и то же?

Есть ли в std, или где-нибудь ещё, константа для пустой строки (""), как endl (\n) для символа переноса?
Раздражает писать так: return &quot;&quot;;

Чем отличается "\n" от std::endl?
чем они отличаются?

Как сделать так, чтобы код мог принимать только определенные числа?
Дело в том, что если вводить числа с 5-ти до 8-ми, то ответы в коде сходятся, а если ввести числа...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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