Обратные вызовы в C++. Виталий Евгеньевич Ткаченко
Чтение книги онлайн.

Читать онлайн книгу Обратные вызовы в C++ - Виталий Евгеньевич Ткаченко страница 18

СКАЧАТЬ представляется более удобной, потому что настройка вызова будет сделана сразу при объявлении экземпляра класса – исполнителя без дополнительных операций.

      6

      Вообще, множественное наследование – неоднозначный механизм, который часто подвергается критике. В большинстве современных языков (например, Java, C#, Ruby и др.) множественное наследование не поддерживается. Тем не менее, в C++ множественное наследование существует, поэтому необходимо рассмотреть и такой случай.

      7

      Другое название, которое встречается в литературе, – функтор.

      8

      В инициаторе хранится копия экземпляра класса. Не ссылка, не указатель, а именно копия. Из этого вытекает несколько важных следствий, которые будут рассмотрены далее.

      9

      Частично этот недостаток устраняется с помощью шаблонов, что будет рассматриваться в соответствующем разделе.

      10

      Количество таких команд зависит от количества входных параметров функции.

      11

      Этот код получен с помощью компилятора Microsoft Visual studio версии 19.23.28106.4. Другие компиляторы могут генерировать отличающийся код, но принцип останется прежним.

      12

      В литературе можно встретить термин «лямбда-функция», но в стандарте С++ он именуется как “lambda-expression”, что в переводе означает «лямбда-выражение».

      13

      При использовании указателей на функцию их код встроить невозможно, потому что заранее неизвестно, какая функция будет использоваться.

iVBORw0KGgoAAAANSUhEUgAAAqkAAAC7CAMAAABxefdMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANhQTFRFQEBAv7+/ADqQAGa22///tmYA25A6kDoAZrb////b/7Zm/9uQOgAAOpDb//+2ZgAAkNv/AABmtv//AAA6CAgIOgA65+fn39/f9/f3f39/MDAwr6+vGBgYz8/PcHBwUFBQICAgn5+fEBAQx8fHaGho7+/vYGBgj4+POjoAKCgo19fXeHh429uQWFhYSEhIp6enADo6h4eHl5eXODg4tpA6t7e3ZgBmkNvbkDo6OpC2trZm27ZmZmYAOjo6ZjqQZra2kGYAZgA6kJA6kJBmOpCQOjqQAAAA////1MLq1QAADllJREFUeNrsnWlD27gWhhOMjXHiACUNAQJlp0CXaTszd2bubHeT//8/ujrnSLKzlKaOZezkfT8k3q1IT46OZOuok0HrI7XG6rQuxeARpILU9pO6vr+s07IfB1JBKsoCpIJUlAVyB6RCIBVlAVJBKsoCuQNSQSpIRVkgd0AqSEXugFSQClJRFsgdkApSkTsgFaSC1LUsi1ClyB2Q2vyy6PVVgNwBqY0vi92drR+3tpE7q1dN+v8elcpJkLqUksP95OBVlg324lCxddVfB692d2gxOtzXq7SUKDooixQfow+mA3W57O7IaebcxuYOJVzpX+NPkc00kOpFg71A1/8xOwGx5jHOopQ3CoaBXv6Dl/7QpGr7u60PTLPe6/2M99JpqQb6bUrIN5lU+qOFPpO4u6NUucoJpC5bgoO9lIxmmgmzgi/toNXk8D96KTr4ty4FrtwiItpYYXOafDSfVPqTwU9tJ6kMKRtHppBJHeyRbSDwQqbz3et9DaXer3coxV4A16VcmTIB+UfTSY3FZ8nsjza/YnabuDqhMu4Q7S2uJPz3pj815xr9sQtLINVLM0BGGm5t7+6k4rRqHFPpEoipYPV2wVSXkLG4pkTFsIZBZj88t8uqqP35I6ey979t8WimSGUuaWOas727w3AGi0jV1X5QXAKpXnqoYlOMro1kgRvs/cp+6Ov93Z3//mufaHSksiXmsuElY5jTJueO1AJpNm0/7fc8qUE2tVd+emTqmWlStZceFJdAqpceqm3T/u/1yRs93OdNgz/ZPnDtTsaFLEUYiE0Z/Cz+q21Qxc5niLOm29Ren38N1+O2PWi7O9w2V/tTE4l3h7bbgBqcc6Qmh/8wgJslkOqhh0rF9js5+E2Kg5xRLpZQxcZSkilxBesaT9IOoyLlVd8NqipIdUax1w9ym6r3FLeJTaUuJ9P7QXvl1yULbOq7fmxOs0sg1W8fwKyXWa5x0BJSdQ3hoEpmtnFOcC0Tz9X+BuoCqT/0rSl2SyDVrx8QLHYM1opU1yTq9VP6xUkwZVPTKZsqBytzhjlirkWlrOHNl0Cq996qqU4Bz31OL9OiCuxSmvuk0kc8vU1Jl50+IQwKvVRp3ltiDorEoQ2ywhJI3XA1LneSqmodkApSQSpIRe6AVGjTcgekglSQirJA7oBUCKSiLEAqSEVZIHdAKgRSURbIHZCKskDugFSQClJRFk3T7QikgtQ2qDs8H9WXO/SWH7/gz+MbzJhyZRdBKkh9hlSlmNXaSOWXTHngDscx4GFibrAjSAWpz5DKrNZGamKHjZn3yWkdpM6mGJrTibxgP6yJVBmXakbaJjb4BkidSTH0nEb12VRDpgu+AVJnUtyF5nQvmJ7U6qeakbmhDb4BUuGnLuennpzW2Pan6j6SFlVcjGgFUkHqN0jVnNbZS8WjpRMJnCKBVOxw1XUnddloxSB1IanM6Uvljgu3Fb0wqYkMa/cbWHPZaMUgdZHGL5o7DSNVm/jU669dru4Aqc3LnYaRGqpGTHQDUjczd5YnNVF/SUBQCegSqmK8F3ngy0vW3ZSqPLQBORN39CFHv1fxgoCcywQkA6kg9VlSB3sp95lx8MVfbOA3CpSVP/tNjKuZkyozNqTSi8HxxhKalyHrvX6bzpO6VLRikApSnyOVKCNSnUdiSZ169jtLqovDLM/d6LlGxBM7hXnQrQKpS0UrBqkg9TlSyZQSd65z15I69ezXgCsh4zh8sbGp7Bdw11to5m4IZwIfLx2tGKSC1GdI/U3F2WJSC89+CcmZ2t/6qfnTC4oUmxL6Ltxm8H3RikEqSP06qRJTk0h1IURzm1p49hvPkkpdsFL7p3l/RrT1d+AiF7sgx8tGKwapIPUZUtmhXNyiyp/9hi7ysCXV1f58GsV9E7usVxIXTD79vmjFIBWkfp1UmUdhMNVLZUnNn/3mkYctqYn0SNnTGEyDNE3VOBXkeNloxSAVpKIsQCpIRVkgd0AqBFJRFiAVpKIskDsgFaSCVJTFZuTO4/1T56Ky8bKTzs3xNUiFKs+dszcehneb8TMgFaoqd0YflBreHHfPKkvVY/f+aaJZvQapUHW5cz1RV8fVx7cYX16o4WeQClWVO5+HqnPrJ3HnSt2MQSpUSe58VurcW+o+DtUdSIWqyJ3uUN17TN5Z+ctXTar/GLAg1WPuHF2pG6/pO1XDbmNI9RwDFqR6zJ0T1Rn7TeCTmoybQqrnGLAg1V/unKrJre8UnqjjZpDqPQYsSPWWO+MHdek9hV01HDWCVO8xYEGqt9y5Vyc1JPFNuc4FT36qxxiwINVb7kzUaQ1JPCtnVH20/f3GgAWpvnLnp1pMKhnVTw0h1W8MWJDqK3fee+1KLbbbHhpA6qyqj1cIUj3lzu1wOKoljeOJugapILX0qZ/Vm5oSeV7m8QJIBamu8r+sKZHXZRxiPPcHqUYP6qymRI6HagxSQWpZN1UNa0vlSQlHFaSCVFFXfaktleclehlAKkgV3Xt8L3VWlyVeUwWpINXaucvaUtlVHZAKUkvqTn1csFWmDqlaRyX6/kEqSBV11KJXnJOD34PqUzlSE5AKUku3xxd1UoWBmeDxxZMJUkGq6EIdzW8c7MUS3zlMI3nzmCZuOPhdptKjWR7y2cXclGM20LMMS1r4wseVGoFUkFpOk0WkJm42BjsTTijT38XyUZxdzE05VpiQhCKPL/23AKkgdRk9qMcF7Sk7gFPi5Ju5GfJ494XZxYpTjn2TVNT+ILXSFhXbTq7+w8Csymx3duLwwuxi+ZRjbjqyr5I6VlcgFaSW1PsFL/wb5sgFmCZV0ytzi+Szi+Uvy3/bph6pC5AKUkvqZr7n34wwpqEb07U/GdMfzQROdnYxN+XYEqSeoecfpJbOneP50c2JDS0ScIuKB8cZUhOe6mlqdjE75dgSpJ6WeBUWpILUr9ITmq5U/R0GkfQ3uVmZJVBOYXYxO+XYEqQ+lRjzD1JBqvUdn3tuFAazjsEqb8Z/KDEIFqSCVKOr5/o4Z0ldbbBxiY5/kApSlzJ0s6SGqzxjPSrx2B+kgtS8SXVTUyI/lRlbCFJBqtFj2Sh8362ThS8YglSQuqS+1BLsh3pTr8YgFaSWP7euAf+lhvuDVJDqVFMQlXIhVEAqSM11o97XkMSncoHaQCpIdRoNawhOoW9yDVKh1XLnqcSbI9+ru5LeMEgFqVMu5JPnBJ6q4SNIhVbNnVNVpqvzO/Q4LBXmF6SC1Bl9UkOfrurtRemeMJAKUqf0Xk2uvaVu9EU9jEEqVEXujD+o4b2nxHWv1MVRBlKhanLnWKkPPjyA0blSb24zkApVlTunV5qK08dqMe3eKVVydj+QClK/1u45vqIhqVeqKk348+4oA6lQtblze9x5UFXqonNztOovA6kgtR2/DKSCVJCKskDugFQIpKIsQCpIRVkgd0AqBFJRFsgdkIqyQO6AVJC6ZqS2TODxufJcX4FUkNoSUn1k2PkbQANVLB+k1jJwHGqA3ndGrSaV3u5GKW6CSkyB1iRStUlVMKoboZMay9kDqefk/8KoboTvuHAG67aQyiYVRnUj9EH91GJSz6VTAUZ1A3Q3P99ae0g1JhVGFaQ2nNTLjtEnFOTa63ilkdEv3qKCNkZH3SOQCkEgFQKpEARSIZBatbpdZCzUBlLxEumG6OykA1KhFuhRPYDUNmh3R6lV5g9vvY7UBUgto16fHuOm9d1ta3uzbeqtugKpZZSQgYtUXBOoAar/Gkt6rUiNyMb1+vWQGm66QZWSHoPUMm4jWbnocD8b7MXG7sV6mV/tCsStNAY3ZC9BDhPkIjkm3zTYS90lZZ/zTekivf5f+sL6XnRKKPvpVr/upPoY2RLOXDJPQSgObiFFZiXNphLPCQ0Kt3VHuZu9qGocnuKF1M7LPE9gtn СКАЧАТЬ