
-
Указатели на функции: определение, назначение, примеры использования.http://www.amse.ru/courses/cpp2/2011_04_11.html
-
Указатели на функции как параметры функций, сортировка массивов с использованием qsort. http://valera.asf.ru/cpp/scpp/cppd_function.htm http://cppstudio.com/post/891/
-
Перегрузка функций: определение, достоинства, ограничения. Примеры реализации.
-
Перегрузка функций
В языке C++ функции могут перегружаться. Когда говорят, что функция перегружена, это означает, что две или более функций имеют одинаковые имена, однако все версии перегруженных функций имеют различное количество или тип параметров. Рассмотрим пример следующие три перегруженные функции.
void func (int a){
cout << "a=" << a << endl;
}
void func (int a, int b){
cout << "a=" << a << endl;
cout << "b=" << b << endl;
}
void func(int a, double b){
cout << "a=" << a << endl;
cout << "b=" << b << endl;
}
//вызываем
func (10); //вызов func (int)
func (12, 24); //вызов func (int, int)
func (99, 123.23); //вызов func (int, double)
В каждом случае для определения того, какая версия функции func() будет вызвана, анализируется тип и количество аргументов.
-
Препроцессор: назначение, основные этапы препроцессорной обработки.
-
Препроцессор: директивы включения файлов и замены идентификаторов.
-
Препроцессор: макроопределения с параметрами.
-
Препроцессор: сравнение функций и макросов.
-
Препроцессор: директивы условной компиляции.
http://valera.asf.ru/cpp/book/c01_3.html
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
size_t count;
char const *str = "привет\n";
fp = fopen("пример.txt", "wb");
if(fp == NULL) {
perror("ошибка открытия пример.txt");
return EXIT_FAILURE;
}
count = fwrite(str, 1, strlen(str), fp);
printf("Записано %lu байт. fclose(fp) %s.\n", (unsigned long)count, fclose(fp) == 0 ? "успешно" : "с ошибкой");
return 0;
}