1. Initialization
Initialization means providing initial values to variables.
Initialize a struct
1 | // one way to initialize a struct |
Initialize a pair
1 | // one way... |
Initialize a vector
1 | // one way. |
Be careful! If you usestd::vector<int>vec(3,5)
means initialize the vector using three ‘5’(that is {5,5,5}).
Uniform initialization
Uniform Initialization: Use curly bracket(花括号) to initialize any types!
1 | std::vector<int> vec{1,3,5}; |
2. Structed binding
Structed binding lets you initialize directly from the contents of a struct.
1 | auto person = std::make_pair("Frankie", 21); |
3. References
Reference is an alias(别名) for a named variable.
1 | vector<int> original{1,2}; |
1 | void shift(vector<std::pair<int,int>>&nums){ |
left-values and right-values
Left-values can appear on the left or right of an ‘=’. They have names, and are not temporary.
1 | // x is an left-value. |
Right-values can only appear on the right of an ‘=’. They don’t have names, and are trmporary.
1 | // 3 is a right-value. |
Const and Const References
const
indicates a variavle can’t be modified!
If you use a const reference to a variable, then you can’t modify this variale by the reference!
You cant declare a non-const reference to a const variable!
- 本文作者: 夏花
- 本文链接: http://xiahua19.github.io/2022/07/24/cs106l-4-Initialization-and-References/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!