1 |
void foo1(int value = 50){} //value = 50 - это параметр, значение которого по умолчанию будет 50 |
1 2 3 4 5 6 7 |
void foo(int value = 50){} //value = 50, параметр со значением по умолчанию int main() { foo(); //В функцию foo не уходит никаких аргументов } |
1 2 3 4 5 6 7 8 9 10 |
void foo(int value = 50){ //value = 50, параметр со значением по умолчанию } int main() { int x = 20; foo(); //В функцию foo не уходит никаких аргументов foo(x); //В функцию ушёл аргумент x } |
1 2 3 4 5 6 7 8 9 10 |
//За параметром по умолчанию идёт параметр не по умолчанию, ошибка! void foo(int value = 50, int x){ //value = 50, параметр со значением по умолчанию } int main() { int x = 20; foo(x,x); //в функцию уходит два аргумента } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <iostream> using namespace std; void foo(int value = 50){ //value = 50, параметр со значением по умолчанию cout << "value = " << value << '\n'; } int main() { int x = 20; foo(); //50 //первый случай foo(x); //20 //второй случай cin.get(); } |
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 30 31 32 33 34 35 |
#include <iostream> using namespace std; void fill_array(int* arr, int N, int start = 50){ //Функция заполнения массива for (int i = 0; i < N; i++) arr[i] = start++; //заполнение массива, начиная со значения start } int main() { const int N = 10; int arr[N]; //============================ fill_array(arr,N); //Стартовое значение не указано, но используется //Вывод массива на экран: for (int i=0; i<N; i++){ cout << arr[i] << ' '; } //============================= cout << '\n'; //============================ fill_array(arr,N, 25); //Стартовое значение указано явно, третьим аргументом //Вывод массива на экран: for (int i=0; i<N; i++){ cout << arr[i] << ' '; } //============================= cin.get(); } |
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
#include <iostream> using namespace std; void fill_array(int* arr, int N, int start = 50, const char* info = "fill_array\n"){ //Функция заполнения массива cout << info; for (int i = 0; i < N; i++) arr[i] = start++; //заполнение массива, начиная со значения start } int main() { const int N = 10; int arr[N]; //============================ fill_array(arr,N); //Стартовое значение не указано, но используется //Вывод массива на экран: for (int i=0; i<N; i++){ cout << arr[i] << ' '; } //============================= cout << "\n\n"; //============================ fill_array(arr,N, 25); //Стартовое значение указано явно, третьим аргументом //Вывод массива на экран: for (int i=0; i<N; i++){ cout << arr[i] << ' '; } //============================= cout << "\n\n"; //============================ fill_array(arr,N, 0, "my_function\n"); //Все аргументы заданы явно, параметры внутри функции возьмут их значения //Вывод массива на экран: for (int i=0; i<N; i++){ cout << arr[i] << ' '; } //============================= cout << "\n\n"; cin.get(); } |
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> using namespace std; void f00(){} //Функция без параметров void f00(const int value = 10){} //Функция с параметром по умолчанию int main() { f00(); //Ошибка компиляции } |
1 2 |
void foo(const int N = 10){} //Функция с параметром по умолчанию int main(){} |
1 2 3 4 5 |
void foo(){ const int N = 10; //Это случается из параметра по умолчанию } int main(){} |
Вы не могли бы объяснить подробнее, что это означает?
(!((i+1)%el)))
! -Элемент логики. Читается как логическое НЕ, как отрицание,
% — Это арифметическая операция, которая выдает остаток от деления. Ноль — всегда отрицание, НЕ ноль всегда НЕ отрицание.
================
Такое выражение можно было записать так
Спасибо)