В C++ параметры функции могут иметь значения по умолчанию. Это означает, что при вызове функции, если параметр опущен, будет использоваться значение по умолчанию, указанное для этого параметра.
Значения параметров по умолчанию используют знак равенства =
Символ устанавливается после объявленного типа параметра. Например:
void myFunction(string country = "Norway");
существуют В этом примере,country
параметр, значение которого по умолчанию равно "Norway"
。это означает,еслисуществоватьвызов myFunction
явно не указано, когда country
параметры, то функция будет использовать "Norway"
как его ценность.
В следующем примере показано, как использовать параметры по умолчанию:
void myFunction(string country = "Norway") {
cout << country << "\n";
}
int main() {
myFunction("Sweden"); // Выход: Швеция
myFunction("India"); // Выход: Индия
myFunction(); // Выход: Норвегия
myFunction("USA"); // Выход: США
return 0;
}
существовать В этом примере,myFunction
Функция имеет два вызова:
country
для "Sweden"
,Итак, вывод "Sweden"
。country
для "India"
,Итак, вывод "India"
。country
,Поэтому используйте значение по умолчанию "Norway"
,выход "Norway"
。country
для "USA"
,Итак, вывод "USA"
。Функция может иметь несколько параметров, некоторые или все из которых могут иметь значения по умолчанию. Например:
void myFunction(string fname, int age = 18) {
cout << fname << " Refsnes is " << age << " years old.\n";
}
int main() {
myFunction("Liam"); // Результат: Лиам Refsnes is 18 years old.
myFunction("Jenny", 25); // Результат: Дженни Refsnes is 25 years old.
return 0;
}
существуют В этом примере,myFunction
функция Есть два параметра:fname
и age
。age
Параметры имеют значения по умолчанию 18
,это означаетеслисуществоватьвызовфункцияявно не указано, когда age
параметры, то 18
как его ценность.
Параметры по умолчанию применяются только к параметрам функции, а не к возвращаемым значениям функции. Тип возвращаемого значения функции определяется типом в объявлении функции, независимо от параметров по умолчанию.
Параметры по умолчанию в C++ — это удобная функция, упрощающая вызовы функций и улучшающая читаемость кода. Используя параметры по умолчанию, вы избегаете необходимости явно указывать все параметры каждый раз, когда вы вызываете функцию, особенно для необязательных параметров, которые часто используют одно и то же значение.
В C++ параметры функции могут передаваться по ссылке. Передача по ссылке означает, что функция напрямую обращается к адресу памяти переменной, предоставленной вызывающей функцией, а не копирует значение переменной. Это означает, что функция может напрямую изменять значение вызывающей переменной, не создавая копию.
Передача по ссылке обычно используется в следующих двух ситуациях:
Объявления параметров, передаваемые по ссылке, аналогичны объявлениям обычных параметров, но необходимо добавить &
символ. Например:
void swapNums(int &x, int &y);
существуют В этом примере,x
и y
является эталонным параметром. Это означает, что функция swapNums
Доступ к адресу памяти переменной, предоставленной вызывающей стороной, будет осуществляться напрямую.
В следующем примере показано, как использовать передачу по ссылке для обмена значениями двух переменных:
void swapNums(int &x, int &y) {
int temp = x;
x = y;
y = temp;
}
int main() {
int firstNum = 10;
int secondNum = 20;
cout << "Before swap: " << firstNum << " " << secondNum << endl;
swapNums(firstNum, secondNum);
cout << "After swap: " << firstNum << " " << secondNum << endl;
return 0;
}
существовать В этом примере,swapNums
Функция получает два ссылочных параметра x
и y
。когдавызов swapNums
функция, она будет иметь прямой доступ firstNum
и secondNum
Адреса памяти переменных и обмен их значениями.
характеристика | передать по ссылке | Передавать по значению |
---|---|---|
Тип параметра | ссылочный тип (int&、string& ждать) | Общий тип (int、string ждать) |
Передача параметров | Непосредственно передайте адрес памяти переменной | Скопируйте значение переменной |
Изменить значение параметра | Значение вызывающей переменной может быть изменено | Значение вызывающей переменной не может быть изменено |
эффективность | обычно чем Передавать по значениюболее эффективный | обычно чемпередать по ссылкеэффективность Низкий |
C++ впередать по Ссылка — это мощная функция, которая может повысить эффективность и читаемость вашего кода. Понимая передать по Грамматика, использование и меры предосторожности по ссылке: вы можете написать более кратко и эффективно. C++ программа.
для облегчает просмотр предыдущих статей друзьям на других устройствах и платформах:
Поиск общедоступной учетной записи WeChat:Let us Coding
,сосредоточиться Вы можете получить последнюю статью после
Если вы нашли это полезным после прочтения, пожалуйста, поставьте лайк, соберите и подпишитесь