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

Скажите в чем ошибся! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Text -> File.txt -> Console http://www.cyberforum.ru/cpp-beginners/thread13642.html
Привет народ, пишу курсовую, 2ю неделю меня подкидывет от того что вся литература которую читаю не оказывает влияния на требуемый результат для достижения которого осталось ток с файлом розобраться...
C++ Помогите решить задачу // обработка битмапы. Помогите, пожалуйста, решить задачу по обработке фотографий с помощью С++ Изначально есть картинка, квадрат, у которого верхняя часть черная, нижняя- белая. Необходимо написать код, который... http://www.cyberforum.ru/cpp-beginners/thread13638.html
Создание динамического массива C++
Здравствуйте,ребят кто может подсказать как пределать код? что б массивы создавались динамически, ну там писалось введите кол элемнтов стороки, введите кол элементов столбца, #pragma argsused int...
C++ Хочу стать программистом C++
Привет всем! У меня одна проблема . Хочу изучить язык C++ и начать программировать... На некоторых форумах не которые пишут , что C++ язык сложный ... одним словом не хвалят его... но мне многие...
C++ Программа поиска и копирования данных http://www.cyberforum.ru/cpp-beginners/thread13596.html
Ребят, помааагите...:help: Через 3 дня наступит авраал.:rtfm: Зачет по С++]:-> Помогите с написанием программы:wall: 1.открывает файл 2.ищет теги <surname> и </surname> 3.копирует в ranged.txt...
C++ Решение треугольников я тут начал решать задачу по С++ - решение треугольников - пишет, что элсе не удовлетворяет условия If и еще 3 ошибки и 2 warnings. Вот ошибки: warning C4390: ';' : empty controlled statement... подробнее

Показать сообщение отдельно
XuTPbIu_MuHTAu
Эксперт С++
2226 / 741 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
09.10.2008, 21:58
Linux forever!, ссылки - синтаксическая конструкция. если в прототипе указана ссылка - компилятор передает адрес переменной,которая будет указана при вызове.Более того,если ты попытаешься указать адрес при вызове - получишь синтаксическую ошибку.

В качестве бонуса приведу пример.

Код
#include <stdio.h>
int f(int & a ) {
    a++;
    return a;
};
int main() {
    int a=2;
    f(a);
    for(int j=0;j<10;j++) {
        printf("%d ",f(a));
        printf("%d \n",a);
    }
    return 0; 
};
и дизассемблер интересующего кода
Код
       f(a); вызов f(a)
0040107F   lea         eax,[ebp-4]
00401082   push        eax
00401083   call        @ILT+5(f) (0040100a)
00401088   add         esp,4
Код
3:        a++; (в функции f (int & a) )
00401038   mov         eax,dword ptr [ebp+8]
0040103B   mov         ecx,dword ptr [eax]
0040103D   add         ecx,1
00401040   mov         edx,dword ptr [ebp+8]
00401043   mov         dword ptr [edx],ecx
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru