Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335

Опциональный ссылочный аргумент функции

23.02.2014, 09:46. Показов 5011. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Некоторые аргументы функции можно сделать опциональными, просто поставив значение по умолчанию, а затем проверяя, изменилось ли оно :
C++
1
2
3
4
5
6
7
void someFoo(int important, int *additional = NULL)
{
if (additional != NULL)
{
//do someFoo
}
}
Можно ли сделать так же для ссылочного типа?
C++
1
2
3
4
5
6
7
void someFoo(int important, int &additional) // ???
{
if (additional) //  ??? -> PROFIT
{
//do someFoo
}
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2014, 09:46
Ответы с готовыми решениями:

Опциональный вызов деструктора в шаблоне
Разбираясь с шаблонами, решил описать набор шаблонов для работы с матрицами. Выделение памяти, применение операции к каждому элементу и...

Вычислить значение функции аргумент которой вычисляется из другой кусочно заданной функции
Решите программу то я не знаю как:hysteric: Вычислить значение y в зависимости от выбранной функции \varphi (x), аргумент которой...

Передача функции в аргумент
Есть три функции: void MainMenu(); void MainMenu_MilkMenu(); bool ErrorMenu(void (*pf)()); Все прототипы находятся в...

24
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
25.02.2014, 21:07  [ТС]
Студворк — интернет-сервис помощи студентам
DrOffset, не обладаю C++11 компилятором :'( Всё ещё сижу на VS2008, хотя давно стоит VS2012. Такие уж условия свыше
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
25.02.2014, 21:12
Цитата Сообщение от nexen Посмотреть сообщение
DrOffset, не обладаю C++11 компилятором
Так это не проблема, можно попробовать все фичи здесь.
1
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
26.02.2014, 07:08  [ТС]
DrOffset,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
using namespace std;
 
string Foo(string && s = string(""), char && x = 'G')
{
    s += x;
    if (x == 'A')
    {
        return "";
    }
    Foo(s, (char)((int)x - 1));
    if (x == 'G')
    {
        
        return s; 
    }
    return "";
}
 
int main() {
    cout << Foo();
    return 0;
}
Compiling the source code....
$g++ -std=c++11 main.cpp -o demo -lm -pthread -lgmpxx -lgmp -lreadline 2>&1
main.cpp: In function 'std::string Foo(std::string&&, char&&)':
main.cpp:12:19: error: cannot bind 'std::string {aka std::basic_string<char>}' lvalue to 'std::string&& {aka std::basic_string<char>&&}'
Foo(s, (int)x - 1);
^
main.cpp:5:8: error: initializing argument 1 of 'std::string Foo(std::string&&, char&&)'
string Foo(string && s = string(""), char && x = 'G')
^
http://www.compileonline.com/c... online.php
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
26.02.2014, 07:56
nexen,
C++
1
    Foo(std::move(s), (char)((int)x - 1));
2
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
26.02.2014, 17:17  [ТС]
Tulosba, и правда работает.
DrOffset, magic
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.02.2014, 17:17

Беззнаковый аргумент функции
Всем привет. Есть вопрос по уточнению типа аргументов функций. К примеру, есть функция: unsigned long int factorial(unsigned int x)...

Не читается аргумент функции
void recursReverse(char* str, size_t len) { static size_t len2 = len; while (len2 &gt; 1) { std::swap(*str, *(str + len2 - 1)...

Непонятный аргумент функции
Кто-нибудь может подсказать, что принимает такая функция в качестве аргумента? void foo(int (**i)(double)) { ..... }

Безымянный аргумент функции
функция принимает аргумент, но у него нет имени void f(int) { cout &lt;&lt; &quot;Hello world!&quot;; } int main() { int n =...

Аргумент argv в функции main()
Здравствуйте. Возникли некоторые непонимания при работе с аргументом argv и указателями в целом. Мне сказали, что, при передаче...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru