test a reference as a lvalue
This commit is contained in:
parent
9b2aef1701
commit
b987b2badd
3 changed files with 33 additions and 0 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -15,3 +15,4 @@ object-lifetime
|
||||||
shared_ptr
|
shared_ptr
|
||||||
casts
|
casts
|
||||||
classes
|
classes
|
||||||
|
lvalues
|
||||||
|
|
|
@ -15,3 +15,4 @@ add_executable(object-lifetime object-lifetime.cpp)
|
||||||
add_executable(shared_ptr shared_ptr.cpp)
|
add_executable(shared_ptr shared_ptr.cpp)
|
||||||
add_executable(casts casts.cpp)
|
add_executable(casts casts.cpp)
|
||||||
add_executable(classes classes.cpp)
|
add_executable(classes classes.cpp)
|
||||||
|
add_executable(lvalues lvalues.cpp)
|
||||||
|
|
31
lvalues.cpp
Normal file
31
lvalues.cpp
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#include <cassert>
|
||||||
|
|
||||||
|
int test = 12;
|
||||||
|
|
||||||
|
int fnord_(const int i) {
|
||||||
|
test += i;
|
||||||
|
return test;
|
||||||
|
}
|
||||||
|
|
||||||
|
int& fnord(const int i) {
|
||||||
|
test += i;
|
||||||
|
return test;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
test = 13;
|
||||||
|
|
||||||
|
fnord_(5);
|
||||||
|
assert(test == 18);
|
||||||
|
|
||||||
|
// LOLNOPE:
|
||||||
|
// fnord_(5)++;
|
||||||
|
|
||||||
|
test = 13;
|
||||||
|
|
||||||
|
fnord(5);
|
||||||
|
assert(test == 18);
|
||||||
|
|
||||||
|
fnord(5)++;
|
||||||
|
assert(test == 24);
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue