Не думаю, что по 17-м плюсам необходим отдельный учебник.
Если нужно просто понять суть современных плюсов, то вполне достаточно последней редакции Страуструпа (она включает 14-й стандарт).
Также можно почитать Майерса — "Эффективный современный C++".
Вот про 20-й было бы неплохо отдельную книжку иметь, но мне такие неизвестны.
Спасибо за вопрос. В текущей версии нет, но вообще, конечно, да. Просто пока не было времени реализовать. Если есть желание и возможность, с радостью приму помощь.
Правильный ответ на любой подобный вопрос: "давайте сначала посмотрим, что скажет компилятор".
А компилятор скажет следующее:
prog.cc: In function 'void F1()':
prog.cc:8:28: warning: operation on 'i' may be undefined [-Wsequence-point]
8 | printf("%d, %d\n", i++, i++);
| ~^~
prog.cc:8:28: warning: operation on 'i' may be undefined [-Wsequence-point]
Всё это выглядит для меня странно, но могу предложить таки сделать папки полноценными CMake-модулями, которые будут устанавливаться. Просто прописать отдельный путь -DCMAKE_INSTALL_PREFIX=path/to/install, чтобы не захламлять систему.
Никаких проблем. Можем сделать преобразователь, удаляющий
n
-й элемент по счёту, и собрать из них любую схему удалений.Границы удобнее задавать итераторами, но тоже можно, если хочется.
Довольно шустро, хотя специальных замеров не делал. С Ниблером несопоставимо :) .
Макросня не нужна: https://github.com/apolukhin/magic_get
А дальше хоть в json, хоть в xml, хоть куда.
Поздравляю со вступлением в клуб любителей шаблонов.
Желаю дальнейших успехов ;) .
Не думаю, что по 17-м плюсам необходим отдельный учебник.
Если нужно просто понять суть современных плюсов, то вполне достаточно последней редакции Страуструпа (она включает 14-й стандарт).
Также можно почитать Майерса — "Эффективный современный C++".
Вот про 20-й было бы неплохо отдельную книжку иметь, но мне такие неизвестны.
Ну, наверное, можно пройтись по ссылкам в конце статьи.
Или задать какой-нибудь конкретный вопрос, я постараюсь ответить.
Спасибо :) .
Это можно легко проверить, заглянув в репозиторий.
C++ — мультипарадигменный язык.
Где доказательства? Чем обоснованы эти утверждения?
;)
Я не могу к каждой шутливой фразе делать сноску "юмор".
Ничего подобного. Аргументы функции зафиксированы в шаблоне, поэтому сигнатура одинаковая.
Спасибо :) .
Спасибо за вопрос. В текущей версии нет, но вообще, конечно, да. Просто пока не было времени реализовать. Если есть желание и возможность, с радостью приму помощь.
Это же просто
std::function
с методомrun
вместо круглых скобок.Правильный ответ на любой подобный вопрос: "давайте сначала посмотрим, что скажет компилятор".
А компилятор скажет следующее:
Вот и весь разговор.
CMake способен правильно обрабатывать ситуацию с
<>
даже при разработке изолированной библиотеки.См. инструкцию и проект-шаблон.
Делайте, как хотите. К CMake это отношения не имеет.
В директории
src
можно делать что угодно, т.к. это скрытая часть. В интерфейсе, то есть директорииinclude
, нужно обращаться по<>
.В любом случае, не вижу проблемы сделать так, как вам нужно.
Вот готовый шаблон: https://github.com/izvolov/mylib
Ну вот вы его и нашли. Начинать лучше отсюда: https://habr.com/ru/post/461817/
Всё это выглядит для меня странно, но могу предложить таки сделать папки полноценными CMake-модулями, которые будут устанавливаться. Просто прописать отдельный путь
-DCMAKE_INSTALL_PREFIX=path/to/install
, чтобы не захламлять систему.А как гит может помешать собрать всё локально?