net语法1

C#中标识符的命名约定

–类名约定首字母大写

–变量名、方法名等则约定使用Camel命名法

 

常用的命名法:骆驼(Camel)帕斯卡(pascal)匈牙利(Hungarian)下划线(_)

骆驼:是指混合使用大小写字母来构成变量和函数的名字

 

帕斯卡:与骆驼命名法类似只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写

匈牙利:其基本原则是,变量名=属性+类型+对象描述。其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分

 

下划线:下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍 

 

 

总结:对于常量的定义一般习惯全用大字,并用下划线 ' _ ' 作为分割,通常每种语言都有自己的 Coding Style, 比如 C/C++ 和 python 是下划线,java 和 go 是驼峰。

           所以,对于要使用哪种命名法可以根据个人的代码编写风格,也是可使用不同的命名规范混合使用。如:骆驼+下划线 (int temperature_Sensor;)

 

(1)行注释:使用行注释标识符“//”,表示该标识符后的“一行”为注释部分。

•(2)块注释:块注释分别以“/*”和“*/”为开始和结束标识符,在此中间的内容,均为注释的部分。

•(3)文档注释:在C#中,还可以用“///”符号来开头。在一般情况下,编译器也会忽略它们,但可以通过配置相关工具,在编译项目时,提取注释后面的文本,创建一个特殊格式的文本文件,该文件可用于创建文档说明书。

 

命名空间的作用

来源:https://blog.youkuaiyun.com/LF_2016/article/details/51930792

一、为什么使用命名空间

  一个大型的工程往往是由若干个人独立完成的,不同的人分别完成不同的部分,最后再组合成一个完整的程序。由于各个头文件是由不同的人设计的,有可能在不同的头文件中用了相同的名字来命名所定义的类或函数,这样在程序中就会出现名字冲突。不仅如此,有可能我们自己定义的名字会与C++库中的名字发生冲突。

    名字冲突就是在同一个作用域中有两个或多个同名的实体,为了解决命名冲突 ,C++中引入了命名空间,所谓命名空间就是一个可以由用户自己定义的作用域,在不同的作用域中可以定义相同名字的变量,互不干扰,系统能够区分它们。

 

二、什么是命名空间

  命名空间是程序设计者命名的内存区域,程序设计者根据需指定一些有名字的空间域,把一些全局实体分别存放到各个命名空间中,从而与其他全局实体分隔开。

  通俗的说,每个名字空间都是一个名字空间域,存放在名字空间域中的全局实体只在本空间域内有效。名字空间对全局实体加以域的限制,从而合理的解决命名冲突。

例:

namespace na

{

   int a;

   char c;

}

则 a和c只在na的作用域内有效。

 

在声明一个命名空间时,花括弧内不仅可以包含变量,而且还可以包含以下类型:

变量(可以带有初始化)

常量

函数(可以是定义或声明)

结构体

模板

命名空间(命名空间可以嵌套定义)

例:

namespace ns1

{

                 int a;

                 char c = 10;

                 void fun();

                 int Add(int a, int b)

                {

                                 return a + b;

                }

                 namespace ns2

                {

                                 int b;

                }

}

 

注意,如果此时想输出b,则需要指定外层和内层的命名空间

cout<<ns1::ns2::b<<endl;

 

三、使用命名空间成员的方法

1、在引用命名空间成员时,要用命名空间名和作用域解析符对命名空间成员进行限定,以区别不同的命名空间中同名标识符。即  命名空间名::命名空间成员名

 

2、还可以给命名空间取别名

例:

namespace Television

{...}

namespace Tv=Television;

则Tv就是命名空间Television的别名,在以后用到Television的地方都可以用Tv进行替换。

 

3、使用using命名空间成员名

using后面的命名空间成员名必须是有命名空间限制的名字。

例:using ns1::a;

  以上语句表明,在using的作用域内如果使用到ns1中的成员a,则不必再用命名空间限定。在以后的程序中如果用到a,则隐含的指ns1::a。  using声明的作用域是从using语句开始,到using所在的作用域结束。要注意,在同一作用域内用using声明的不同的命名空间的成员不能有同名的成员,否则会发生重定义。

 

4、使用using namespace 命名空间名

  第三条介绍的using命名空间成员名,一次只能声明一个命名空间成员,如果一个命名空间中有多个变量,就需要多次使用using命名空间成员名。C++中还提供了using namespace 语句来实现一次声明一个命名空间内的全部成员。

例如:

using namespace ns1;

  声明了在本作用域中要用到命名空间ns1中的成员,在使用该命名空间内的任何成员时都不必使用命名空间限定。在用using namespace声明的作用域中,命名空间ns1的成员好像在全局域中声明的一样,因此不用加命名限定。

 

4、无名的命名空间

例:

namespace

{

   void fun();

}

 

  由于没有名字,所以其它文件无法引用,它只能在本文件的作用域内有效,它的作用域使重无名命名空间声明开始到本文件结束。在本文件使用无名命名空间成员时不必用命名空间限定。其实无名命名空间和static是同样的道理,都是只在本文件内有效,无法被其它文件引用。

 

5、标准命名空间

  C++库的所有标识符都是在一个名为std的命名空间中定义的,或者说标准头文件(iostream)中的函数、类、对象和类模板是在命名空间std中定义的。所以在C++程序的一开始,就用using namespace对std进行全局声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值