Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我希望我的代码中的字符串表示以索引 1(而不是 0)开始。我正在从索引 1 开始工作的论文;我想与原始描述保持一致。
目前我只是用一个额外的空格字符初始化字符串:
the_string = ' ' + string;
但是,这意味着the_string.length()与字符串的“真实”长度不一致。
the_string.length()
哪种替代解决方法(编写我自己的字符串索引函数,创建一个 mystring 类并重载 [] 运算符等)生成最少的代码,它是什么?
一个简短而糟糕的解决方案是使用宏扩展来 -1 索引。
#define I(x) ((x) - 1) the_string[I(1)] // This will access the first character of the string.
如果您想在纸上和代码上对齐您的解决方案,这很好 - 但永远不要让该代码进入任何生产系统。