Страницы

Поиск по вопросам

суббота, 21 декабря 2019 г.

C++ сигнатуры методов

#cpp


Мой уровень С++ но начальном этапе и у меня возник вопрос. 
Как вообще можно что-то понять из этой сигнатуры метода? 


Я стараюсь понять, что мне нужно передать в эту функцию и не могу понять ничего. 
Что посоветуете делать с этим? Как правильно нужно читать эту сигнатуру или возможно
у кого-то есть какие-то репозитории с открытым кодом С++, где можно учиться просто
читать и понимать его?
    


Ответы

Ответ 1



Попробуйте этот ужас декомпозировать. Известно, что это функция: возвращаемый_тип имя_функции(тип_аргумента1 арг1, тип_аргумента2 арг2 ...) далее смотрим, что возвращаемый тип - это ссылка, как и аргументы: возвращаемый_тип& имя_функции(тип_аргумента1 &арг1, тип_аргумента2 &арг2 ...) Затем двигайтесь дальше, что функция - шаблонная, т.е. перед именем у нее стоят аргументы-типы в скобках , аналогично и возвращаемый тип c аргументами - тоже шаблонные, получаем: возвращаемый_тип& имя_функции(тип_аргумента1 &арг1, тип_аргумента2 &арг2 ...) И, наконец, перед именами типов стоит пространство имен std: std::возвращаемый_тип& имя_функции(std::тип_аргумента1 &арг1, std::тип_аргумента2 &арг2 ...) Выделяя все эти составные части мешанина букв и символов обретает ожидаемые очертания. Это действительно приходит с опытом чтения кода на С++.

Комментариев нет:

Отправить комментарий