Writing preprocessor directives to get string
Can you write preprocessor directives to return you a std::string or char*?

For example: In case of integers:
    
    #define square(x) (x*x)
    
    int main()
    {
       int x = square(5);
    }

I'm looking to do the same but with strings like a switch-case pattern. if pass 1 it should return "One" and 2 for "Two" so on.. 
Writing preprocessor directives to get string
===

Can you write preprocessor directives to return you a std::string or char*?

For example: In case of integers:
    
    #define square(x) (x*x)
    
    int main()
    {
       int x = square(5);
    }

I'm looking to do the same but with strings like a switch-case pattern. if pass 1 it should return "One" and 2 for "Two" so on.. 