Visaul C++ 2010 入门经典 学习笔记(1)

1.      移位运算符 << ,>>:离开“变量”任一端的位都将丢失,另一端用0补足。

2.      cout<<setw(n)<< “something” ,指定输出宽度。必须添加头文件<iomanip>.

3.      只要位不丢失,左移n位相当于原来的数值乘以2n;右移n位相当于原来的数值除以2n。但是如果位丢失的话,结果可能大相径庭。

4.      可以使用“::”运算符,表示引用的变量为一个全局变量。全局变量一般是在程序开始的地方定义的,即定义在所有函数的外边,包括main函数。还有变量必须在使用之前定义。

5.      在C++/CLI编程中,基本数据类型表如下:


特别注意画勾的类型。wchar_t 类型在这里的类型为System::Char。

6.      注意引用某一个类的函数或变量用“::”,而C#里为“.”。

7.      选中某段代码,再按“Alt + F8”,代码将自动按格式对齐。

8.      Int32::Parse()函数,接受的参数为一个字符串型的整形值,不能有字母等字符。

9.      safe_cast在CLI用于显示的强制类型转换。

10.  C++/CLI的枚举是一个类定义,必须在全局作用域中定义它。格式: enumclass day :int {Mon,Tue,Wen,Tus,Fri,Sat,Sun};int为指定枚举的类型值,也可以为其它类型。

11.  字符大小写转化:Char::ToUpper()和Char::ToLower()。检测大小写:Char::IsUpper()和Char::IsLower()。

12.  String ^ line =Console::ReadLine(); 字符^表示这是引用string对象的句柄。

13.  倘若提供初值的话,我们还可以省略数值型数组的长度,数组元素的数量由提供的初值数目决定。 int value[] = {2,3,4}; 数组长度为3。

14.  char[6] = “hello”,给字符数组指定元素数量时必须包括终止字符’\0’。一般可以不指定长度。同理对应于宽字符。wchar_t[6] = L”hello”;

15.  在二维或多维数组中,最右边的一维必须是确定的。

16.  long* p, a;  该语句声明了一个long 类型的指针p,还声明了一个long类型的变量a;

17.  因为我们事先不知道将动态创建多少个变量,所以最佳的方法是使用指针。

18.  使用未初始化的指针是相当危险的。可以将一个指针初始化为NULL,在使用的时候先检测一下其值是否为NULL。也可以用0。

19.  sizeof运算符将产生size_t类型的整数值,size_t是由标准库定义的类型(unsigned int)。将变量定义为size_t类型,以匹配sizeof运算符产生的类型。

20.  const char* const pstring = “sometext”  第一个const表示指向的字符串是个常量。第二个const表示指针为常量,不能改变,不能指向其它变量。

21.  递增和递减指针运算与指针指向的对象类型有关。将指向long类型的指针加1,则该指针指向下一个long类型的变量,指针包含的地址将加4.

当数组是一维时,可以将数组名赋值给指向该数组的指针。但是当数组是二维时就不行。举例说明:

int mul_array[2][3] =

       {

              {1,2,3},

              {4,5,6}

       };


从图中可以看出,mul_array其实相当于一个一维的数组,每个成员存储一个一维数组的指针,指向的类型为int[3]。当引用mul_array[1][2]的时候,其指针引用形式为

*(*(mul_array+1)+2)。当指针mul_array移动的时候,它每次移动的大小等于它指向的类型所占用的字节数,此处为12字节。

再看看三维的情况:

int mul_array[2][2][3]=

       {

              {

                     {1,2,3},{4,5,6}

              },

             

              {  

                     {7,8,9},{10,11,12}

              }

       };


分析方法类似。引用mul_array[1][1][2]的指针方法为*(*(*(mul_array+1)+1)+2)。从内存状态可以看出,其实数组mul_array[2]和二维数组mul_array[2][2]在内存中是不存在的,内存中只存储了三维数组的各个元素的值。

22.  引用是另外一个变量的别名。

23.  strlen()将一个类型为char *的参数字符串的长度作为一个size_t类型返回。注意这个长度不包括字符串的终结符’\0’。

24.  安全字符串函数strcat_s()strncat_s(); wcscat_s(),wcsncat_s()。strcpy_s(),wcscpy_s()

25.  strstr()返回一个指针,指向第一个参数中第二个参数指定的子串的位置。

26.  CLR会自动释放不再需要的堆内存,还会自动压缩零碎的内存。所以我们不要使用delete运算符。使用对应的gcnew运算符分配内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值