其他分享
首页 > 其他分享> > c-指针的正确无效值是什么?

c-指针的正确无效值是什么?

作者:互联网

假设我有这段代码.基本的“如果呼叫者未提供值,请计算值”方案.

void fun(const char* ptr = NULL)
{
   if (ptr==NULL) {
      // calculate what ptr value should be
   }
   // now handle ptr normally
}

并用

fun();          // don't know the value yet, let fun work it out

要么

fun(something); // use this value

但是,事实证明,ptr可以具有各种值,包括NULL,因此我不能将NULL用作呼叫者未提供ptr的信号.

因此,我不确定现在应为ptr提供什么默认值,而不是NULL.我可以使用什么魔术值?有人有想法吗?

解决方法:

void fun()
{
   // calculate what ptr value should be
   const char* ptr = /*...*/;

   // now handle ptr normally
   fun(ptr);
}

标签:default-arguments,c
来源: https://codeday.me/bug/20191013/1908968.html