我有一个函数,其中我传入了一个char *缓冲区的迭代器(也是char *)。该函数需要增加迭代器。无论如何,我发现将指针通过引用传递到函数中是一种不错的方法:
bool myFunction(unsigned char * &iter)
{
...
然而,我听说这种做法很不好,可能会引起问题。这是我的同事建议我使用的方法:
typedef unsigned char * unsignedcharptr;
bool myFunction(unsignedcharptr &iter)
{
...
在我看来,它们似乎都在做同样的事情。这两种方法之间是否存在编译器差异(我使用的是Visual Studio 2005)?哪个是正确的?
iter
是一个指针而不是一个对象。在一个长类型名称中,*
比ptr
更能表达出来。 - Christian Rau