Fooling a c++ compiler. Passing int instead of a cont int into function

后端 未结 2 551
陌清茗
陌清茗 2021-01-29 16:14

How can i pass an int into a function that is expecting a const int.

Or is there a way of modifying cont int value?

Edit: I Sho

2条回答
  •  感动是毒
    2021-01-29 16:59

    This requires no fooling. A function that expects an argument of type const int will happily accept an argument of type int.

    The following code will work fine:

    void MyFunction(const int value);
    
    int foo = 5;
    MyFunction(foo);
    

    Because the argument is passed by value, the const is really rather meaningless. The only effect is has is to ensure that the function's local copy of the variable is not modified. The variable you pass to the function will never be modified, regardless of whether the argument is taken as const or not.

提交回复
热议问题