Passing to a Reference Argument by Value

前端 未结 7 1076
名媛妹妹
名媛妹妹 2021-01-17 14:40

Consider this simple program:

vector foo = {0, 42, 0, 42, 0, 42};
replace(begin(foo), end(foo), foo.front(), 13);

for(const auto& i : foo) co         


        
7条回答
  •  猫巷女王i
    2021-01-17 15:16

    To be more explicit you can use int() as a constructor to create a temporary:

    replace(begin(foo), end(foo), int(foo.front()), 13);
    

    Instead of adding a value. See Demo.

提交回复
热议问题