zoukankan      html  css  js  c++  java
  • 【ThinkingInC++】52、函数内部的静态变量

    /**
    * 书本:【ThinkingInC++】
    * 功能:函数内部的静态变量
    * 时间:2014年9月17日18:06:33
    * 作者:cutter_point
    */
    
    #include "../require.h"
    #include <iostream>
    
    using namespace std;
    
    char oneChar(const char* charArray=0)
    {
        const static char* s;   //自己主动初始化为0,这个const表示这个指针指向的是char类型的指针。
        //不能变成其它的指针类型或变成非指针。地址能够变,类型不能变,并且这个仅仅初始化一次
        if(charArray)
        {
            s=charArray;    //地址能够随便赋值,可是*s不能改,并且仅仅初始化一次
            return *s;
        }
        else
            require(s, "un-initialized s");
    
        if(*s == '')
            return 0;
    
        return *s++;
    }
    
    
    char* a="abcdefghijklmnopqrstuvwxyz";
    
    int main()
    {
        oneChar(a);
        char c;
        while((c=oneChar()) != 0)   //后面s是静态的还是指向那个地方
            cout<<c<<endl;
    
        return 0;
    }
    

  • 相关阅读:
    cannot resolve symbol 'XXX'
    jwt单点登入
    空3
    Hibernate持久化,生命周期
    Hibernate主键生成策略
    Hibernate常用api以及增删改查
    Hibernate配置流程
    Hibernate定义
    Git总结
    spring整合MQ
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5101694.html
Copyright © 2011-2022 走看看