精华内容
下载资源
问答
  • c#using关键字的作用

    2019-06-10 13:28:48
    using关键字的三种作用: 1. 引用命名空间; 2. 为命名空间或者类型创建别名; 3. 使用using语句。 (1)引用命名空间 类似于c和c++的#include<>, python的import,都是程序引入命名空间的类型,而...

    using关键字的三种作用:

    1. 引用命名空间;

    2. 为命名空间或者类型创建别名;

    3. 使用using语句。

    (1)引用命名空间

            类似于c和c++的#include<>, python的import,都是在程序中引入命名空间的类型,而不必制定类型详细的命名空间。

            使用方法为:using + 命名空间名称;

    (2)为命名空间或者类型创建别名

            使用方法为:using + 别名 = 包括详细命名空间信息的具体的类型;s 

    using System;    //引用命名空间
    using aClass = test1.MyClass; //创建别名
    using bClass = test2.MyClass; //创建别名
    
    namespace test1 
    {
        public class MyClass 
    
        {
    
            public override string ToString() 
            {
                return "You are in test1.MyClass";
            }
        }
    }
     
    namespace test2 
    {
        class MyClass 
        {
            public override string ToString() 
            {
                return "You are in test2.MyClass";
            }
        }
    } 

    (3)使用using语句

            使用方法:

    //首先test和test2类必须实现IDisposable接口
    
    //using关键字的使用方法
    using (test t = new test())
    {
        ........
    }
    
    //多个using关键字的使用方法
    using (new test()) using (new test2())
    {
        .........
    }

        using关键字要求小括号内的对象必须实现IDisposable接口或者其基类实现了IDisposable接口,如果没有实现此接口,那么在编译时就会出现错误。在using关键字下面的代码块执行完毕后,会自动将test对象隐式转换为IDisposable接口类型,并调用接口方法dispose释放对象资源。

        using的实质: 在程序编译阶段,编译器会自动将using语句生成为try-finally语句,并在finally块中调用对象的Dispose方法,来清理资源。所以,using语句等效于try-finally语句。

    展开全文
  • static 声明为static类成员称为类静态...静态成员变量一定要类外进行初始化 #include <iostream> using namespace std; class mine { public: mine(int a, int b, int c); void GetSum(); private:

    static

    声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。静态的成员变量一定要在类外进行初始化

    #include <iostream>
    using namespace std;
    class mine
    {
        public:
            mine(int a, int b, int c);
            void GetSum();
        private:
                    int a;
                    int b;
                    int c;
            static int Sum;//声明静态数据成员
    };
    int mine::Sum = 0;//定义并初始化静态数据成员
     
    mine::mine(int a,int b,int c)
    {
        this->a = a;
        this->b = b;
        this->c = c;
        Sum += a + b + c;
    }
    void mine::GetSum()
    {
        cout<<"Sum="<<Sum<<endl;
    }
    int main()
    {
        mine M(1, 2, 3);
        M.GetSum();
        mine N(7, 8, 9);
        N.GetSum();
        M.GetSum();
    }
    
    1. 静态成员为所有类对象所共享,不属于某个具体的实例
    2. 静态成员变量必须在类外定义,定义时不添加static关键字
    3. 类静态成员即可用类名::静态成员或者对象.静态成员来访问

    const

    const使用(类型)

    int const*A;//A可变,*A不可变
    
    int*const A;//A不可变,*A可变
    

    2、限定函数的传递值参数

    void function(const int Var);//传递过来的参数在函数内不可以改变
    

    3、限定函数返回值型.

    const int function()
    

    4、限定函数类型.

    void function()const;//常成员函数,常成员函数是不能改变成员变量值的函数。
    
    展开全文
  • 之前对static修饰变量后作用域的问题一直是大体了解,感觉和普通变量的作用域并没有什么区别。...main.c中: #include&lt;iostream&gt; #include"A.h" using namespace std;...

    之前对static修饰变量后作用域的问题一直是大体了解,感觉和普通变量的作用域并没有什么区别。聚个栗子

    在A.h中:

    #pragma once
    static int a=365;
    class A
    {
    public:
    	A();
    	~A();
    };

    在main.c中:

    #include<iostream>
    #include"A.h" 
    using namespace std;
    int main()
    {
        int b = a;
        cout << b << endl;
        return 0;
    }

    在mian.c中包含了头文件后a可以用啊,感觉static并没有起到限制作用域的问题啊。


    但由于有extern,所以用static修饰后可以预防其他地方用extern声明后进行引用。这才起到了限定了变量的作用范围。

    例如(注意头文件的包含)

    //A.h中
    #pragma once
    static int a=365;
    int b=366;
    class A
    {
    public:
    	A();
    	~A();
    };
    
    //main.c中
    #include<iostream>
    //#include"A.h" 注意,没有包含头文件
    extern int a;//出错,这才起到了static限定作用域的作用
    extern int b;//可以
    using namespace std;
    int main()
    {
        int c = b;
        cout << c << endl;
        return 0;
    }

    静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的(extern外部声明后也用不了);

    当然,int b=366;这个也可以定义在A.c中。

    展开全文
  • C++ static关键字作用

    2020-12-09 14:32:40
    C++static作用总结 1、隐藏功能(C/C++) 2、静态局部变量(C/C++) 3、类成员声明为static(C++) 隐藏功能 当全局变量和函数声明为static,只能本文件可见,对于其他文件不可见。其他文件可以有相同函数/变量...

    C++中static作用总结

    1、隐藏功能(C/C++)
    2、静态局部变量(C/C++)
    3、类成员声明为static(C++)

    隐藏功能

    当全局变量和函数声明为static,只能在本文件中可见,对于其他文件不可见。其他文件可以有相同的函数/变量名字,不会冲突。

    // test.cpp
    #include <iostream>
    using namespace std;
    
    int n = 10; 
    
    int add(int a, int b) {
        return a + b;
    } 
    
    int main() {
        cout << "10+20 = " << add(10,20) << endl;
        cout << "n = " << n << endl;
        return 0;
    }
    // add.cpp
    #include <iostream>
    
    int n = 12; 
    
    int add(int a, int b) {
        return a + b + 1;
    }
    //编译出错
    g++ -o test test.cpp add.cpp
    /tmp/ccZ4vuaa.o:(.data+0x0): n 的多重定义
    /tmp/ccR4As38.o:(.data+0x0):第一次在此定义
    /tmp/ccZ4vuaa.o:在函数‘add(int, int)’中:
    add.cpp:(.text+0x0): add(int, int) 的多重定义
    /tmp/ccR4As38.o:test.cpp:(.text+0x0):第一次在此定义
    collect2: 错误:ld 返回 1
    在test.cpp中n和add加static,无错
    

    静态局部变量

    有两种变量存储在静态存储区:全局变量、static修饰的变量。静态存储区的变量在程序运行时会完成初始化(默认为0),也是唯一一次初始化。静态局部变量不会因为函数的结束而消失。它会在全局区直到程序的结束,但是作用域只有在该函数内。

    #include <iostream>
    
    using namespace std;
    
    void func() {
        static int a =  10; 
        a --; 
        cout << "a = " <<  a << endl;
    }
    
    int main() {
    
        for (int i =  0; i <  10; i ++) 
            func();
    
        return 0;
    }
    
    a = 9
    a = 8
    a = 7
    a = 6
    a = 5
    a = 4
    a = 3
    a = 2
    a = 1
    a = 0
    

    类成员修饰为static

    1、静态成员变量
    在类中的变量声明前加static,则为静态数据成员。
    静态变量特点:
    1)静态成员变量是所有该类的对象共有的,具有共享功能。
    2)静态成员变量必须初始化,必须在类外初始化。其内存是在初始化的时候分配的。
    2、静态成员函数
    在类中的函数声明前加static,则为静态成员函数
    静态函数的特点:
    1)静态成员函数不能访问非静态成员变量和非静态成员函数。
    2)非静态成员函数可以访问静态成员变量和静态成员函数。

    #include <iostream>
    
    using namespace std;
    
    class Student {
    private:
        char* name;
        float score;
        static float total;
        static int num;
    public:
        Student(char* name, float score) {
            this->name = name;
            this->score = score;
            num ++; 
            total += score;
        }   
        static float getAver() {
            if (num == 0)  
                return 0;
            return total / num; 
        }   
    };
    
    float Student::total = 0.0;
    int Student::num = 0;
    
    int main() {
        Student A("Tony", 80);
        Student B("David",90);
        cout << Student::getAver() << endl;
        return 0;
    }
                                                                     
    
    展开全文
  • C++进阶(三)static 关键字在作用域上,限定其作用范围内存方面,存储静态存储区类中的静态成员函数和成员变量 在作用域上,限定其作用范围   对于全局变量和函数来说,使用 static 修饰,使得其仅当前文件...
  • 在C/C++,变量、函数和类都是大量存在的,这些变量、函数和类的名称都将存在于全局作用,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的...
  • C++typedef和using

    2020-03-10 15:22:10
    typedef是C/C++语言保留的关键字,用来定义一种数据类型的别名。 ypedef定义的类型的作用域只该语句的作用域之内 typedef经常使用的场景包括以下几种: 指定一个简单的别名,避免了书写过长的类型名称 实现...
  • C++我们经常会碰到"using namespace"等字符,namespace就是命名空间,而using 属于声明; 1.1 命名空间概念  C++采用单一全局变量命名空间,如果一个空间,两个变量或函数名字一样,
  • C++对C的函数扩展

    2020-10-14 08:55:26
    (替代宏代码片段就可以避免宏作用!) C++推荐使用内联函数替代宏代码片段 C++使用inline关键字声明内联函数 内联函数声明时inline关键字必须和函数定义结合一起,否则编译器会直接忽略内联请求。 //宏...
  • 总结2:C++对C的扩展

    千次阅读 2020-06-29 09:18:42
    作用:避免大规模程序设计标识符命名发生冲突 说明:std是c++标准命名空间,c++标准程序库中的所有标识符都被定义 std namespace 定义 namespace name{ ... } namespace 使用 using namespace ...
  • 标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好地控制标识符的作用域。 当使用的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。若不引入using ...
  • c#与c、java关系

    千次阅读 2009-11-03 16:56:00
    这是合理的因为经验告诉我们Java模型工作得很好.Java的关键字import已经被替换成using,它起到了同样的作用.一个类开始执行的起点是静态方法Main().下面的Hello World程序展示了基本的形式: using System; class ...
  •  C++允许同一作用一个函数名定义多个函数,这些函数就构成了函数重载。其中①参数个数、②类型、③顺序,④关键字const都可以作为重载依据,但返回值不能作为重载依据(暂且可以这么理解:返回值有时可以...
  • C#与Java语法差异

    2018-11-25 19:39:00
    C#与Java语法差异C与Java语法差异前言程序结构基本语法数据类型字符串变量与常量运算符判断语句循环语句访问权限方法数组结构枚举类继承多态...程序结构C#使用using关键字引用命名空间(namespace),作用和...
  • 指出以下关键字C#程序中的作用 :using、namespace 、class、this 使用using关键字把.Net Framework 类库相对应的命名空间引入到引用程序 根据以下叙述,请分别输出相应的C#语句 1、控制台上输出中国,加油...
  • 18.1.4 函数抛出异常 546 18.1.5 异常说明 547 18.2 异常处理编程技术 549 18.2.1 抛出异常时机 549 18.2.2 异常类层次结构 552 18.2.3 测试可用内存 552 18.2.4 再次抛出异常 552 第19章 标准...
  • 另外,还讲述了C++在C 语言基础上新增许多特性,其中包括: ● 类和对象。 ● 继承。 ● 多态、虚函数和RTTI(运行阶段类型识别)。 ● 函数重载。 ● 引用变量。 ● 通用(或独立于类型)编程,这种技术...
  • 另外,还讲述了C++在C 语言基础上新增许多特性,其中包括: ● 类和对象。 ● 继承。 ● 多态、虚函数和RTTI(运行阶段类型识别)。 ● 函数重载。 ● 引用变量。 ● 通用(或独立于类型)编程,这种技术...
  • 另外,还讲述了C++在C 语言基础上新增许多特性,其中包括: ● 类和对象。 ● 继承。 ● 多态、虚函数和RTTI(运行阶段类型识别)。 ● 函数重载。 ● 引用变量。 ● 通用(或独立于类型)编程,这种技术...
  • C++基础记录(一)

    2019-05-04 15:14:20
    当库参数vs2015不支持时,加入宏:(报错提示:C4996错误) #define _CRT_SECURE_NO_...using关键字:声明后就用该作用变量,如果有痛局部变量容易产生二义性,就近原则,如果打开多个作用域,避免二义性 ...
  • 一.名字空间(namespace) 1、名字空间可以解决函数、全局变量名...4、定义了一个新的作用域,解决了C中只能用文件划分的缺陷 5、使用using关键字,可以引用一个名字空间,使得这个名字空间内的所有内容 对自己可见 ...
  • 21天学通C++ (中文第五版)

    热门讨论 2010-06-23 16:57:03
    7.5.4 for循环声明的变量的作用域 7;6 循环小结 7.7 使用switch语句控制程序流程使用switch语句来处理菜单 7.8 小结 7.9 问与答 7.10 作业 7.10.1 测验 7.10.2 练习 第1周复习 第2周课程简介 第8章 ...
  • 2.命名空间的作用:防止命名冲突 3.如何定义一个命名空间:namespace N1{变量、函数} 命名空间的成员如何使用: a.N1::成员名字:当前命名空间内容使用少 b.using N1::b; c.using namespace N1; 缺省参数....
  • 13.2.1 事件的作用 376 13.2.2 事件的声明 378 13.2.3 编码规范 379 13.2.4 泛型和委托 380 13.2.5 自定义事件的实现 383 13.3 小结 384 第14章 支持标准查询操作符的集合接口 385 14.1...
  • 声明方法存在而不去实现它类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为类,并为该类声明方法,但不能该类实现该类情况。不能创建abstract 类实例。然而可以创建一个变量,其...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    C#--微软.NET的第一语言 本书着重介绍语言本身,比较少涉及应用,不错的入门书,从头讲起,不怕... C#语言.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 ...
  • C#微软培训资料

    2014-01-22 14:10:17
    C#语言.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出...
  • static 用法

    2012-10-06 22:34:53
    在C中static有了第二种含义:用来表示不能被其它文件访问的全局变量和函数。, 但为了限制全局变量/函数的作用域, 函数或变量前加static使得函数成为静态函数。但此处“static”的含义不是指存储方式,而是指对函数...
  • c#学习笔记.txt

    热门讨论 2008-12-15 14:01:21
    若要一个用 @ 引起来的字符串包括一个双引号,请使用两对双引号:@ 符号的另一种用法是使用碰巧成为 C# 关键字的被引用的 (/reference) 标识符。 8, 修饰符 修饰符作用 访问修饰符 public private internal ...

空空如也

空空如也

1 2 3
收藏数 45
精华内容 18
关键字:

在c中using关键字的作用