Есть такой тип данных как функция:
std::function< возвращаемый тип (тип1, тип2...) >
Для использования нужно добавить библиотеку:
C++
#include <iostream>
#include <string>
#include <functional>
int main()
{
// объявляем переменную func1
std::function<void(std::string)> func1;
// в переменную func1 устанавливаем значение (тело функции)
func1 = [](std::string text) {
std::cout << text;
};
// func1 это переменная указывает на функцию
func1("Hello!");
func1("Thank you");
}
C++
#include <iostream>
#include <string>
#include <functional>
#include <fstream>
// функция ReadTextFile содержит 2 параметра:
// 1-ый переметр это filename (текст)
// 2-ой переметр это callback (функция)
void ReadTextFile(const char* filename, std::function<void(std::string)> callback)
{
std::ifstream file;
file.open(filename);
if (!file)
return;
std::string line;
while (file >> line) {
callback(line);
}
file.close();
}
int main()
{
// вторым параметром передаем безымянную функцию
ReadTextFile("d://1.txt", [](std::string line) {
std::cout << line;
});
}