条件表达式

  1. void *
  2. dlopen (const char *file, int mode)
  3. {
  4.   struct link_map *new;
  5.   void doit (void)
  6.     {
  7.       new = _dl_open (file ?: "", mode);
  8.     }
  9.   return _dlerror_run (doit) ? NULL : new;
  10. }
     

分析 file ?: "",等价于

if (file == NULL)

file = "";

else

file = file;


版权声明:本文为xiaoyi39原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。