当前位置: 首页 > news >正文

深圳官方网站制作沈阳网页建站模板

深圳官方网站制作,沈阳网页建站模板,网站可以做软著吗,com是什么网站(一)基本概念 void 类型:空类型,用于特殊目的的没有操作,也没有值的类型。不能被显式或隐式的转换为任意非空类型,可以通过强制类型转换为void类型。 void指针:指向任何对象的指针都可以转换为v…

(一)基本概念

    void 类型:空类型,用于特殊目的的没有操作,也没有值的类型。不能被显式或隐式的转换为任意非空类型,可以通过强制类型转换为void类型。

    void指针:指向任何对象的指针都可以转换为void*类型指针,且不会丢失信息。在ANSI C使用类型void*代替char*作为通用指针的类型。

(二)使用方法

1. void的使用吐舌鬼脸

第一种是:对函数返回的限定

    在不加返回值类型限定的情况之下,编译器会将其处理为整型的类型。例如以下的情况:

 
 
 
 
 
 
 
 
 
 
 

    对于每个函数,恶魔我们都要明确的指定其返回值的类型。该void的时候,就void。不要省略不写,这回带来大麻烦恶魔

第二种:对函数参数的限定

    当函数不允许接受参数时,必须使用void限定。例如以下两种情况:

在C语言下:

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

运行结果太棒了

在C++语言下:

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

运行结果哭泣的脸

    恶魔在C语言中,可以给无参数的函数传送任意类型的参数,但是在C++编译器中编译同样的代码则会出错。恶魔在C++中,不能向无参数的函数传送任何参数。

2. void指针的使用

    在《C++ primer》中,对void指针的作用做了阐述:与另一指针比较;向函数传递void指针或从函数返回void指针;给void指针赋值。

    由于void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值,因此还可以用void指针来作为函数形参,这样函数就可以接受任意数据类型的指针作为参数。

以下摘至sgi stl中的代码片段:吐舌鬼脸

/* __n must be > 0      */
static void* allocate(size_t __n)
{
  void* __ret = 0;
 
  if (__n > (size_t) _MAX_BYTES) {
    __ret = malloc_alloc::allocate(__n);
  }
  else {
    _Obj* __STL_VOLATILE* __my_free_list
        = _S_free_list + _S_freelist_index(__n);
    // Acquire the lock here with a constructor call.
    // This ensures that it is released in exit or during stack
    // unwinding.
    ifndef _NOTHREADS
    /*REFERENCED*/
    _Lock __lock_instance;
    endif
    _Obj* __RESTRICT __result = *__my_free_list;
    if (__result == 0)
      __ret = _S_refill(_S_round_up(__n));
    else {
      *__my_free_list = __result -> _M_free_list_link;
      __ret = __result;
    }
  }
 
  return __ret;
}
/* __p may not be 0 */
static void deallocate(void* __p, size_t __n)
{
  if (__n > (size_t) _MAX_BYTES)
    malloc_alloc::deallocate(__p, __n);
  else {
    _Obj* __STL_VOLATILE*  __my_free_list
        = _S_free_list + _S_freelist_index(__n);
    _Obj* __q = (_Obj*)__p;
 
    // acquire lock
      ifndef _NOTHREADS
    /*REFERENCED*/
    _Lock __lock_instance;
      endif /* _NOTHREADS */
    __q -> _M_free_list_link = *__my_free_list;
    *__my_free_list = __q;
    // lock is released here
  }
}

    对于指针的自增行为,要迎合ANSI C 的规范。在ANSI C中void指针不能自增的,这种行为是一种非法行为,因为未知void的大小。哭泣的脸

#include <iostream>
 
int main(int argc, char* argv[]) 
{ 
    int i = 0;
    void *p;
    int *pint;
    int *pint1;
    pint = &i;
    p = pint;
    std::cout << pint << std::endl;
    pint++;
    std::cout << pint << std::endl;
    std::cout << p << std::endl;
    pint1 = (int *)p;
    std::cout << pint1 << std::endl;
    return 0;
} 

运行的结果:

9OV3PPIYTPM41KMFY_thumb

文献参考:

1. 《C++ primer》和《C语言程序设计》

2.http://wenku.baidu.com/view/22c4b8d86f1aff00bed51edc.html这篇文章很出名啊太阳,很多void的文章都是转载这一篇文章的。

转载于:https://www.cnblogs.com/ComputerG/archive/2012/02/22/2363165.html

http://www.wooajung.com/news/34598.html

相关文章:

  • 郑州妇科医院排行榜前十名seo排名怎么样
  • 临沂网站建设seo怎么优化武汉厂商
  • 怎样备份网站数据库网站推广和优化的原因网络营销
  • 保定哪家做网站公司好seo网站优化知识
  • 网站备案复查接外包网站
  • 如何自己做淘宝网站品牌推广专员
  • 免费网站搭建西安seo经理
  • 网架公司和网架加工厂的区别重庆seo搜索引擎优化优与略
  • 网站设计的必要性惠州网站建设方案推广
  • 做网站公司yuanmus小游戏推广接单平台
  • 怎么做没有后台程序的网站如何申请百度竞价排名
  • 江西响应式网页建设价格seo网站有哪些
  • 织梦搭建企业网站厦门seo俱乐部
  • 上海市委常委班子手机seo快速排名
  • 昆明网站建设排名北大青鸟培训机构靠谱吗
  • 小说网站建设源码郑州seo优化外包
  • 网站建设与管理说课稿百度推广客户端app下载
  • 全屋设计装修效果图廊坊关键词优化平台
  • 寻花问柳-专注做一家男人的网站猪seo站
  • 牧和邻宠物网站建设短视频代运营方案策划书
  • 呼和浩特网站优化搜狗网站收录
  • 视频网站如何做微信营销百度推广网页版
  • 湛江市研发网站建设腾讯广告推广怎么做
  • 做网站首页置顶多少钱太原网络推广价格
  • 建个公司网站多少钱宁德市人民医院
  • 手机版网站图片自适应怎么做百度指数批量查询工具
  • 湖北建设执业资格注册中心网站seo整站优化解决方案
  • 网站设计制作多少钱营销型网站案例
  • 怎么做企业官方网站企业网站建设方案
  • 网络服务系统百度网盘seo优化