我希望我的代码中的字符串表示以索引1(不是0)开头。我正在使用索引1处理的论文;我想与原始描述保持一致。
目前,我只是使用额外的空格char初始化字符串:
the_string = ' ' + string;
但是,这意味着the_string.length()
与字符串的“实际”长度不一致。
哪种替代解决方法(编写我自己的字符串索引函数,创建一个mystring类并重载[]运算符等)生成最少的代码,它是什么?
答案 0 :(得分:2)
一个简短的解决方案是使用宏扩展来-1索引。
#define I(x) ((x) - 1)
the_string[I(1)] // This will access the first character of the string.
如果你想在纸面和代码上对齐你的解决方案,这很好 - 但是永远不要让这些代码进入任何生产系统。