2010年2月24日星期三

VC++ 2005

20081212
-----------
  1.

    VC++2005可以生成两种类型的C++项目: 1. 本地C++项目 2.CLR C++项目 。本地C++项目包括(win32控制台项目、MFC项目),而CLR C++包括CLR控制台程序和窗体应用程序等。
 2.  语法: using std;using std::cout; using std::cin;
 
  3.头文件:
  #include<Iostream>
  如果使用默认应用程序向导生成win32控制台程序,则开始执行的主函数为_tmain(),而且包含头文件stdafx.h。
  stdafx.h中包含 #include "stdio.h"为用于标准的老式头文件功能同<iostream>, include "tchar.h" 是Microsoft特有的头文件,它定义文本函数。此处的想法是,stdafx.h应当为项目定义一组标准系统包含你文件,而且针对这个文件中需要的其他系统文件将添加#include指令。
  #include<iomanip> 操作符头文件。using std::setw(n) ,它输出的值在n个空格宽的字段中遵循右对齐,只对紧跟它的单个输出值有用。cout<<setw(6)<<num1<<setw(6)<<num2;
4.
 1个字节为8个字位。
 整形: int short long
 字符型: char letter = 'A'; char letter = 65  (-128~127); 宽字符型(16位):wchar_t letter = L'Z' ;
 布尔型: bool
  浮点型:double in_to_mm = 25.4 ;doubule占用8个字节个内存。 float pi = 3.14159f; float型占用4个字节。
5.
  typedef类型重定义: typedef long int BigOnes; BigOnes mynum=0L;
6.
  lvalue和rvalue
  lvalue是一种涉及内存地址的变量,所有产生lvalue的表达式都可以出现在赋值语句的左边。大多数变量都为lvalue,因为它们指定内存中的一个位置。但是有些被定义为常量的变量,不是lvalue,不能出现在表达式左边。
不是lvalue的表达式的结果称为rvalue

20081213
------------
  1.

   using 声明 using namespace std; using 指令 using std::cout;
  2.
  头文件:
  using <string>;
 3.
  c++/CLI扩展: safe_cast 运算符 int value = safe_cast<int>double_value;,特有的基本数据类型long long, unsigned long long;
  4.
   System命名空间定义值类型: bool System::Boolean ,int System::Int32
5.
  不同的枚举:
   enum Week { mon = 1, Tues,Wed....} thisWeek; thisWeek = Mon;
  enum Week nextWeek = Week nextWeek;

   enum Class Suit{Clubs,Diamonds,Hearts,Spades};
   Suit suit = Suit:Clubs;
6 .  L"This is string" L表示宽字符串。


20081214
-----------
  1.

字符串处理 :
  MFC中 CString类
  C++/CLI String类 System::String^ saying = L"Many hands make light work.";
  标准C++  char name[5] = "oooo";  cin.getline(char[],MAX,'
');
           #include<cstring> (c语言库)  wcsnlen(); count = std::strlen(buffer);
2.
  指向char类型的指针
  char* proverb = "A miss is as good as a mile."; 相当于const char类型的数字,并将字面值地址存储在指针proverb中。
  char类型指针数组
   char* pstr[] = { "x...","...",".."}; cou<< pstr[i];
3.
  new delete delete[]
  C++/CLI gcnew

  C++/CLI中的指针 句柄 数组 :引用型变量必须使用^
                     String ^s = L"This is a string";
                      array<int> samples = new array<int>;
                       array<String ^> ^names = { "Jack","Jane","Joe"..};
                      array<String^> names; names = gcnew array<String^>{...};
                          
4.
  声明和定义的区别: int a(声明); int a=0(声明和定义);
  5.
  头文件 #include"stdarg.h"
  va_list arg_ptr; (var_list类型是在stdarg.h头文件中定义的,该指针用来依次指向各个市参).
  var_start 宏用来初始化 arg_ptr,使其指向列表中第一个实参。
         #include<new>
  using std::bad_alloc
         #include <cstdlib> exit();
         #include <cctype>  isdigit();
发表评论