• c++中静态成员变量 静态成员函数 全局变量与静态函数的关系 字符串中括号的匹配编程 (笔试经历)


    笔试经历

    1 类中的静态变量不能通过构造函数参数列表来初始化,因为静态变量不属于哪个对象。同时静态变量在不初始化的情况下系统会自动为变量赋值,数值型赋值为零,字符型赋值为空。

    非静态变量只有在定义时才会被分配内存,因此使用未声明的或者声明了未定义的变量程序都会运行失败。未声明时编译时失败,未定义是运行时失败。

    2 静态成员数中的普通变量无论c还是java都是普通变量,需要定义后使用。

    在c++中静态成员函数的访问方式为:

    类名::函数名();

    java中静态成员函数的访问方式:
    类名.函数名();

    3 定义为全局的变量实际就是一个全局化的静态变量;定义在局部的静态变量是局部的变量,不会因为是静态的就被当做全局变量。

    4  输入一个字符串看括号是否匹配

    #include <iostream>
    #include <string>
    #include <stack>
    
    using namespace std;
    
    int main()
    {
        string str="a{{bc(d)}sdd";
        stack<char> st;
        int i;
        char ch,sh;
        bool flag=true;
        for(i=0;i<str.size();i++)
        {
            ch=str[i];
            if(ch=='('||ch=='{')
                st.push(ch);
        }
        for(i=0;i<str.size();i++)
        {
            ch=str[i];
            if(ch==')'||ch=='}')
            {
                if(st.size()!=0)
                {
                    sh=st.top();
                    switch(sh)
                    {
                    case '(': sh=')';break;
                    case '{': sh='}';break;
                    default:cout<<"error"<<endl;
                    }
                    if(ch!=sh){flag=false;break;}
                    else st.pop();
                }else  if(st.size()==0){ flag=false;break;}
    
            }
        }
        if(st.size()!=0) flag=false;
        if(flag==true)cout<<"匹配成功"<<endl;
        else cout<<"匹配失败"<<endl;
        return 0;
    }
  • 相关阅读:
    C#驱动mysql明明数值不为空却一直说DBNull.Value的诡异情况
    WinForm解决UI假死
    js实现的简单遮罩层
    mongodb C#连接报错 Invalid credentials for database 'admin'
    c#记录代码运行的耗时。
    C# LINQ
    timeScale减速对动画影响的处理方法(转)
    委托
    Unity3D单例类模板类
    Unity协程(Coroutine)管理类——TaskManager工具分享(转)
  • 原文地址:https://www.cnblogs.com/dongzhuangdian/p/5258791.html
Copyright © 2020-2023  润新知