2

可能重复:
更改提供给 C 预处理器宏的参数的大小写

我有以下cpp代码

#include <iostream>
using namespace std;

#define PROPERTY(name,type) type get ## name () { return name; } void set ## name ( type value ) { this-> name ; }

class Demo {

  string name;

public:
  PROPERTY(name,string)

  Demo() {
      name = "no name";
  }
};

int main(){
  Demo demo;
  cout << demo.getname();
  return 0;
}

根据上面的代码,宏会生成一个名为“getname”的方法,我想把它改成“getName”

如何在宏中更改令牌大小写?

4

1 回答 1

1

大写“名称”,即

string Name;

这将生成getName () 和setName (string)

它可能不是您想要的,但它会产生相同的效果。我认为没有任何预处理器技巧可以将令牌大写。

另一种替代方式是使用 get_name() 和 set_name(string)

于 2012-05-31T20:09:03.483 回答