memesearch
Почему указатели на функции такие странные

Почему указатели на функции такие странные

Download Find similar pictures
Text on the meme
объявление переменной int x; то что мы объявляем какого типа объявление объявление синонима типа typedef int i32; логика такая: а давайте объявление синонимы типов так же, как переменные! то что мы объявляем какого типа объявление только добавим ключевое слово typedef объявление функции int foo (int); то что мы объявляем кусочек типа тут и тут то есть имя функции "foo" находится прямо посередине типа int(int) Почему указатель на функцию такой странный? Срабатывает та же логика: 1. объявление также же как объявление функции 2. звёздочка перед именем переменной, так же как при объявлении указателя на T 3. но скобки ставим, чтобы отличить функцию, возвращающую T, от указателя на функцию, возвращающую T функция, возвращающая int* int *foo (int); int (*foo)(int); указатель на функцию, возвращающую int int *pointer; звёздочка перед именем также же как при объявлении обычного указателя объявление переменной: указатель на функцию int (*callback) (int); синоним типа typedef int (*callback) (int); указатель на функцию как аргумент функции int invoke( int (*callback) (int) ); указатель на функцию как возвращаемое значение int (*get_callback(void)) (int) { ... } кусочек типа тут и тут то что мы объявляем
What it means

На изображении показана подробная схема объявлений в C/C++: переменная, синоним типа, функция и указатели на функции. Шутка в том, что синтаксис указателей на функции выглядит настолько запутанно, будто язык специально усложняет простую идею; мем отправляют, когда внезапно понимают, как это работает, или сталкиваются со сложным объявлением. EN: The image shows a detailed diagram of C/C++ declarations: a variable, a type alias, a function, and function pointers. The joke is that function-pointer syntax looks so confusing, as if the language deliberately makes a simple idea difficult; people send this meme when they suddenly understand how it works or encounter a complicated declaration.

Objects
Tags
Source
Type
image
Size
800×603 · 76.1 KiB
Mood
ироничный, запутанный
Language
ru
Added