Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Файл заголовок - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цикл и два вектора http://www.cyberforum.ru/cpp-beginners/thread617596.html
Доброй ночи, суть задачи: два вектора в одни водится "Имя" во второй значение типа int, нужно сделать проверку на уникальность введенных имен, и не могу понять как сделать, чтобы если имя не...
C++ Нахождение двойных пробелов Здравствуйте! Задача такова: Во всем тексте вставить переход на новую строку там, где есть два или больше пробела подряд Вот мой код: #include <stdio.h> #include <stdlib.h> #include... http://www.cyberforum.ru/cpp-beginners/thread617566.html
C++ Найти наибольший элемент массива в каждой строке.
Дан массив из n x m элементов. Найти наибольший элемент массива в каждой строке.
Веведение текста непосредственно на экран C++
Доброго времени суток всем, кто посетил эту тему. Я новичёк в программировании на c++. Заинтересовала такая вещь: Как вывести текст непосредственно на экран, а не в консоль. Т.е. вывел текст...
C++ Объявление переменных внутри блока switch http://www.cyberforum.ru/cpp-beginners/thread617520.html
#include <iostream> int main() { int choice = 2; switch(choice) { //case 1: int x = 1; break; // ошибка case 1: int x; x = 1; break; // почему нет ошибки?
C++ Из Паскаля в С++ Здравствуйте. Помогите переписать этот код на C++. Сам пробовал, но не получается. var a,b:string; begin assign(input,'input.txt'); reset(input); assign(output,'output.txt'); rewrite(output);... подробнее

Показать сообщение отдельно
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
02.07.2012, 01:34
Потому что так Вы передаете по значению. То есть при входе в функцию будут созданы переменные, которым будет присвоены значения констант. Когда Вы передаете по ссылке естественно передается адрес переменной, которую можно изменить.
Вот смотрите, допустим, Вы написали так:
C++
1
std::cout << f(43) << std::endl;
А функция f имеет прототип f( int & );

Тогда при вызове функции должен передаться адрес параметра, в данном случае это константа 26. То есть будет доступна запись вида
C++
1
2
3
4
5
std::string f( int &a ) {
   a = 100;
   
   return "integer";
}
Что абсолютно бессмысленно.

В то же время, если прототип имеет вид f( int );

То при вызове функции, создастся переменная, которой будет присвоено значение константы, и которую мы уже можем менять внутри функции, и которая соответственно уничтожится при выходе из функции.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru