-2

我希望我的代码中的字符串表示以索引 1(而不是 0)开始。我正在从索引 1 开始工作的论文;我想与原始描述保持一致。

目前我只是用一个额外的空格字符初始化字符串:

the_string = ' ' + string;

但是,这意味着the_string.length()与字符串的“真实”长度不一致。

哪种替代解决方法(编写我自己的字符串索引函数,创建一个 mystring 类并重载 [] 运算符等)生成最少的代码,它是什么?

4

1 回答 1

2

一个简短而糟糕的解决方案是使用宏扩展来 -1 索引。

#define I(x) ((x) - 1)

the_string[I(1)] // This will access the first character of the string.

如果您想在纸上和代码上对齐您的解决方案,这很好 - 但永远不要让该代码进入任何生产系统。

于 2012-07-24T15:31:44.333 回答