C++初学印象

1、一个数字的精度不是它的小数点后位数,而是全部位数。
2、VC8.0默认Unicode编码支持,函数使用时注意通用性。eg.atof->_tstof。去掉默认Unicode编码方法是在工程属性-〉常规-〉字符支持,设置为未设置。
3. string类中c_str的类型是const char*,在sscanf里面可以用.
4. CString->std::string 例子:
     CString strMfc=“test“;
     std::string strStl;
     strStl=strMfc.GetBuffer(0);
   std::string->CString  例子:
     CString strMfc;
     std::string strStl=“test“;
     strMfc=strStl.c_str();
5. 数字类型转换成CString,Cstring::Format是种方法,
   例如int转换成CString方法:CString csi;
                            csi.Format(_T("%d"),i);
6. 正确的写法:
             ProRecord tempPro;
                       tempPro=ProList.GetAt(ProList.FindIndex(k));
     错误的写法:
               ProRecord tempPro=ProList.GetAt(ProList.FindIndex(k));
     原因?
7. CList<int,int> 普通变量的在定义CList时都无需加'&'.
   在对CList进行遍历操作时,好的习惯是把CList的元素个数复制给一个变量,在定义operator'='操作时,时刻注意复制时元素的个数是传递过来的变量(r)的元素个数!
8. 在做条件判断时,特别注意"=="与"="号!!!!
9. 注意AfxExtractSubString的学习使用!
10. 1).vc++2005环境中静态调用DLL(隐式)
      首先,准备好文件,.Dll、.Lib、.H一都不能少。
      起作用与区别参考:.obj,.lib,.dll,.h之间的相互关系
      其次,修改编译选项  项目|属性|连接器|输入:输入xxx.lib文件名。
      最后,#include xxx.h即可。
    2).动态调用方式:是由编程者用 API 函数加载和卸载 DLL 来达到调用 DLL 的目的,使用上较复杂,但能更加有效地使用内存,是编制大型应用程序时的重要方式。
       显式的调用:是指在应用程序中用 LoadLibrary 或 MFC 提供的 AfxLoadLibrary 显式的将自己所做的动态连接库调进来,动态连接库的文件名即是上面两个函数的参数,再用 GetProcAddress() 获取想要引入的函数。自此,你就可以象使用如同本应用程序自定义的函数一样来调用此引入函数了。在应用程序退出之前,应该用FreeLibrary 或 MFC 提供的 AfxFreeLibrary 释放动态连接库。直接调用 Win32 的LoadLibary 函数,并指定 DLL 的路径作为参数。LoadLibary 返回 HINSTANCE 参数,应用程序在调用 GetProcAddress 函数时使用这一参数。GetProcAddress 函数将符号名或标识号转换为 DLL 内部的地址。程序员可以决定 DLL 文件何时加载或不加载,显式链接在运行时决定加载哪个 DLL 文件。使用 DLL 的程序在使用之前必须加载(LoadLibrary)加载DLL从而得到一个DLL模块的句柄,然后调用 GetProcAddress函数得到输出函数的指针,在退出之前必须卸载DLL(FreeLibrary)。

你可能感兴趣的:(C++初学印象)