Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Senarist
50 / 54 / 34
Регистрация: 14.03.2014
Сообщений: 664
1

Аргументы функции

12.12.2016, 22:26. Просмотров 219. Ответов 9
Метки нет (Все метки)

Привет! Как поступить в следующей ситуации.

C++
1
2
3
4
5
for (int i = 0; i < 16; i++)
{
     func(str1, str2);
     ....
}
дело в том что переменную str2 нужно передать только 1 раз. Остальные разы она там просто не нужна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2016, 22:26
Ответы с готовыми решениями:

Аргументы функции: что значит "большие" и "небольшие" аргументы?
Здравствуйте! Всем доброго дня! Растолкуйте пожалуйста! Что значит...

Аргументы функции
Программа должна вычислять x-e число Фибоначчи по mod y. Вылетает ошибка, что...

Аргументы функции
Вопрос на счет аргументов функции в С++. есть такая функция: void...

Аргументы функции
Как правильно описать аргументы в некоторой функции void Func(int* a, int*...

Аргументы Функции
Привет всем.Программа такова по заданному TXT файлу идет поиск строки и эта...

9
Nemovok
291 / 121 / 105
Регистрация: 30.10.2015
Сообщений: 688
Завершенные тесты: 2
12.12.2016, 22:51 2
Может так:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
 
void func(std::string&, std::string);
 
int main()
{
  std::string str = "Hello";
  func(str, "");
  std::cout << str << std::endl;
  return 0;
}
 
void func(std::string &str1, std::string str2)
{
  if (str2 == "") {
    str1[0] = '*';  
  } else {
    str1[0] = '!';
  }
}
0
Senarist
50 / 54 / 34
Регистрация: 14.03.2014
Сообщений: 664
13.12.2016, 08:01  [ТС] 3
Nemovok неа, не то
0
sourcerer
Модератор
Эксперт CЭксперт С++
4868 / 2053 / 325
Регистрация: 20.02.2013
Сообщений: 5,556
Записей в блоге: 24
Завершенные тесты: 1
13.12.2016, 09:01 4
Senarist, смотрите в сторону variadic templates (функции с переменным числом аргументов).

Добавлено через 3 минуты
Senarist, либо просто сделайте две перегруженные функции и всё. Ещё проще.
0
socslm
16 / 16 / 4
Регистрация: 10.05.2015
Сообщений: 59
13.12.2016, 09:04 5
Может имеется в виду создание класса?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class myfunc_holder
{
public:
    myfunc_holder(const std::string& str1);
    void func(const std::string& str2);
private:
 .......
};
........
myfunc_holder fhold(str1);
for (int i = 0; i < 16; i++)
{
     fhold.func(str2);
     ....
}
0
sourcerer
Модератор
Эксперт CЭксперт С++
4868 / 2053 / 325
Регистрация: 20.02.2013
Сообщений: 5,556
Записей в блоге: 24
Завершенные тесты: 1
13.12.2016, 09:15 6
Senarist, как-то так:
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
25
26
27
28
29
#include <iostream>
#include <string>
 
void show( std::string & str1, std::string & str2 )
{
    std::cout
    << str1
    << " "
    << str2
    << "\n";
}
 
void show( std::string & str1 )
{
    std::cout
    << str1
    << "\n";
}
 
int main()
{
    std::string str1 = "Hello";
    std::string str2 = "World";
 
    show( str1 );
    show( str1, str2 );
 
    return 0;
}
0
sourcerer
Модератор
Эксперт CЭксперт С++
4868 / 2053 / 325
Регистрация: 20.02.2013
Сообщений: 5,556
Записей в блоге: 24
Завершенные тесты: 1
13.12.2016, 09:16 7
Цитата Сообщение от socslm Посмотреть сообщение
Может имеется в виду
Возможно, имелось ввиду что-то вроде std::call_once. И вот тут ещё обсуждается run once function.
0
sourcerer
13.12.2016, 09:23
  #8
 Комментарий модератора 
Senarist, пожалуйста, прочитайте правила форума.
Особое внимание обратите на следующие пункты:
0
Catstail
Модератор
23738 / 11821 / 2067
Регистрация: 12.02.2012
Сообщений: 19,226
13.12.2016, 09:38 9
Цитата Сообщение от Senarist Посмотреть сообщение
Остальные разы она там просто не нужна.
- не нужна, так не пользуйся! Пусть передается - это не сильно тратит ресурсы.
0
nd2
2835 / 2403 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
13.12.2016, 09:41 10
Цитата Сообщение от Senarist Посмотреть сообщение
неа, не то
Senarist, определение функции покажи.
1
13.12.2016, 09:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2016, 09:41

C++ аргументы функции
Извиняюсь за дилетантский вопрос. Допустим нужно передать string address =...

Аргументы у функции
void String(int i, int j, int N, double a) И компилятор студии 2010 выдает...

Аргументы функции
Добрый вечер! Сразу по делу: int func(char s) {....} int main { char s;...


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

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

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