Другие языки программирования и технологии

Уроки (статьи) по ООП на С++. Си. На каком сайте можно найти хорошие уроки по C/C++

Кроме форумов есть ли какие то сайты, где бы все постепенно, кратко и понятно (в уроках) объяснялось?
Киньте что то полезное.

---И еще
Где можно увидеть реализацию стандартных функций? В заголовочных. h или они хранятся в другом месте?
Sioma Simonian
Sioma Simonian
876
В Visual C++ есть отладчик, а у него фича, Шаг с заходом (F11)
Ставите точку останова в строке с интересующей вас функцией и жмёте на F11, пока не попадёте в файл реализации. Например, ..

#include <stdio.h>
void main() {
    getchar(); // в этой строке ставим точку останова
    return 0;
}

F11 переносит нас в файл реализации fgetchar.c, а там в функцию getchar(), которая имеет вид (убрал лишнее).. .

int getchar() {
    return _fgetchar(); // оказывается вызываем мы на самом деле эту функцию
}

Опять на F11, и мы уже в том же файле есть другая функция, которая имеет вид.. .

int _fgetchar() {
    return(getc(stdin));
}

То есть, getchar() и _fgetchar() - эквивалентны в данном случае! Под Windows в среде Visual C++

Далее.. . Мы, к своему, вящему удивлению, узнаём, что фактически вызвали функцию getc() с параметром stdin (указатель на стандартный поток ввода) , кстати, могли бы сразу это написать.

Если игра понравилась, то можно дальше жать на F11, и пойти в файл crtlib.c за адресом указателя на первый элемент стандартного входного потока, затем в fgetc.c и там увидеть-таки реализацию того, как это, действительно, работает.

Но не стоит удивляться, если вдруг, однажды, попадёте в файл, написанный на ассемблере.
Удачи!
Алексей Вишневский
Алексей Вишневский
78 500
Лучший ответ
в книге Кернигана и Ритчи, если интересует Си, если Си++, то Страуструп, желательно всё в оригинале. Там и реализация, и тп.
Жасулан Темiр
Жасулан Темiр
13 245