4

是否有任何(可能,使用宏)方法来使用类似 python 的表达式 f(i:j) 获取字符串的子字符串?或者,更具体地说,将 i:j 表达式解析为索引 i 和 j 对?有任何想法吗?

编辑:是的,我需要:. 或者 ;。基本上,简单的函数或宏不能做的事情。只是想看看有没有可能。

编辑:基本上,我想看看它是否广泛适用。也许对于数组也是如此。所以这个问题更像是“我可以把 i:j 变成 i j”,我猜。这些是 std:strings 还是 c-strings 没关系。

4

1 回答 1

20

我讨厌自己回答,但是...

#include <iostream>
#include <string>

#define f(x) substr(true?x, false?x)

int main () {
  std::string s = "Hello, world";
  std::string y = s.f(1:4);
  std::cout << y << "\n";
}

警告:我是招聘经理。如果我发现你使用这种技术,我永远不会雇用你。

于 2013-07-24T02:51:42.037 回答