stem/CS/Languages/C++.md
Andy Pack 5f04cacd81 vault backup: 2023-12-27 09:30:39
Affected files:
.obsidian/workspace.json
Projects/Dev Options.md
Projects/Mixonomer.md
Projects/NoteCrawler.md
Projects/Selector.md
Projects/To Do App.md
STEM/CS/ABI.md
STEM/CS/Calling Conventions.md
STEM/CS/Code Types.md
STEM/CS/Compilers.md
STEM/CS/ISA.md
STEM/CS/Language Binding.md
STEM/CS/Languages/Assembly.md
STEM/CS/Languages/C++.md
STEM/CS/Languages/Javascript.md
STEM/CS/Languages/Python.md
STEM/CS/Languages/Rust.md
STEM/CS/Languages/dotNet.md
STEM/IOT/OS/Composition.md
2023-12-27 09:30:39 +00:00

24 lines
793 B
Markdown

---
tags:
- dev
---
## To Read
- [Iterators](https://en.cppreference.com/w/cpp/iterator) -> [spans](https://en.cppreference.com/w/cpp/container/span) -> [ranges](https://en.cppreference.com/w/cpp/ranges)
- [constexpr](https://en.cppreference.com/w/cpp/language/constexpr)
- Can be evaluated at compile-time instead of runtime
- Shift processing to compile-time, quicker at runtime
- Can be run at run-time
- Not the only way to be used in constant expressions
- `const`
- Can use with const
- `constexpr const int N = 5;`
- same as `constexpr int N = 5;`
- `constexpr` implies `const`
## Conan
cmake-conan
[https://github.com/conan-io/cmake-conan](https://github.com/conan-io/cmake-conan)
[https://cliutils.gitlab.io/modern-cmake/](https://cliutils.gitlab.io/modern-cmake/)