码迷,mamicode.com
首页 > 编程语言 > 详细

C++速成-1

时间:2015-09-21 12:36:05      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

1.生成一个C++程序的步骤?

  编译预处理;编译;链接

2.名字空间的作用?

  名字空间是用来处理不同代码段名称冲突问题的。

3.名字空间的使用方法?

  方法一:先把名字空间中的声明(如名字空间变量对象成员的声明或定义、函数原型、自定义数据类型等)放进一个头文件中,就如同头文用于各种声明一样。----名字空间的声明。

            再通过#include文件包含存在名字空间声明的那个文件,再在名字空间内部实现各种定义。----名字空间的实现。

    方法二:甚至可以把名字空间的声明和定义放在一起,在声明时,就实现名字空间中成员的定义。这类似于类中成员函数的内联。

4.如何使用名字空间中的成员?

     方法一:可以使用下面的指令。这表示把名字空间中的所有成员都释放出来,使得名字空间中的成员又具有全局作用域。这将导致的后果是可能再次引入名字冲突的问题。

    using namespace 名字空间名称;

    方法二:先声明后使用。在预计要使用多少成员,就在源代码文件任意位置通过指令

     using 名字空间名称::成员名;        声明要使用到的成员,在下文直接引用成员名即可。

    方法三:在使用到的每个成员名称之前统一加上

       名字空间名::成员名的方式引用名字空间中的成员。

    相比第一种方法,后两种更加安全。


5.易错的数据类型总结?

    float  f=3.14f;            因为小数默认是double类型,应该显示的说明float变量的f后缀。

    double db=3.15;        没问题

    long double ldb=3.24L;  大写L不能省,c++标准规定精度至少不低于double

    char  ch=‘X‘;                单字节字符,未做特别说明只是ASCII码字符是有符号和无符号的交集。

    char16_t ch=u‘X‘;        双字节字符,前缀u不能省

    char32_t ch=U‘X‘;        四字节字符,前缀U不能省

    wchar_t  wch=L‘X‘        宽字节字符,前缀L不能省

    bool型:C里面没有的类型,C++新增的数据类型。范围false(0),true(非0)

    C++11新增的:

   auto    自动类型推导,由编译器自动判断类型。

   decltype(exp)  自动类型推导,根据表达式的最终类型确定类型T

    

6.C++类型转换的方式?

    1)自动类型转换:适合于赋值兼容的类型之间的转换。比如整型实型字符型。

    2)强制类型转换:

        格式一:(T)exp  不管表达式是单项式还是多项式,都将转换离T最近的那项变量或对象。

         格式二:(T)(EXP)  整个表达式求之后将转换成T类型

    3)????强类型转换:


7.移位?

    逻辑移位:是指任何数的二进制模式通过移位后产生的空位,按0填充。比如C/C++的左移

    算数移位:是指任何数的二进制位模式移位后产生的空位,按符号位填充。

    <<左移运算:不管有符号值(负数)还是无符号值左移总是左移丢,地位补0;

    >>右移运算:无符号值右移仍然是逻辑移位,右移丢,高位补0,而负数右移,高位空位补1

    总结:1)非负数的左移右移都是逻辑移位,移丢的空位补0,负数的左移也是空位按0填充,而右移高位补1

             2)对于有符号值(负数),移位会失去跨平台移植性,对于涉及移位操作的所有函数接口,都应该采用无 

     符号的参数。unsigned int...


8.枚举类型?










C++速成-1

标签:

原文地址:http://my.oschina.net/u/2467198/blog/509031

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!