例如,假设我有一个缓冲区char journal_name[25],我用它来存储日志名称.现在假设在代码中稍后几行我想将某人的名字存储到缓冲区中.我应该去char person_name[25]还是只是重用journal_name[25]?
麻烦的是,每个阅读代码的人(以及几周之后我也必须了解journal_name)现在实际上是person_name.
但是反驳的论点是拥有两个缓冲区会增加空间使用量.所以最好使用一个.
你怎么看待这个问题?
谢谢,Boda Cydo.
Bli*_*ndy 16
以C方式解决这个问题的方法,如果你真的不想浪费内存,就是使用块来调整缓冲区的范围:
int main()
{
{
char journal_name[26];
// use journal name
}
{
char person_name[26];
// use person name
}
}
Run Code Online (Sandbox Code Playgroud)
编译器将为两者重用相同的内存位置,同时为您提供完全清晰的名称.
作为替代方案,调用它name并将其用于<.<
有些代码在这里真正有序.但有几点需要注意:
保持标识符与对象分离.叫它scratchpad或任何东西.此外,从它的外观来看,这个字符数组不是动态分配的.这意味着您必须分配足够大的便笺本才能重用它们.
更好的方法是使您的功能更短:理想情况下,一个功能应该一次做一件事.看看你是否可以分手并仍然面对这个问题.