我注意到,由于 RVO,大多数 C++ 专家总是建议最好按值传递。这让我不必太担心指针操作,也更容易编写代码。那里没有投诉。这让我想知道完全不使用动态内存分配(在堆上)并始终传递参数并按值返回结果是否是正确的方法?
这意味着不要提出这样的签名:
Character* getCharacter(Sprite *sprite, Action* action)
我应该或多或少地坚持以下签名:
Character getCharacter(Sprite sprite, Action action)
我的理解正确吗?还是我认为我解冻了一个putthy cath?