zoukankan      html  css  js  c++  java
  • C++ Primer笔记整理

    1. 迭代器:迭代器是一种对象,它可以看做是游标,用来遍历标准模板库中的部分或者全部元素。 每个迭代器指向容器中确定的地址,此外,迭代器还提供一些基本操作符:*、++、==、!=、=。


    2. 模板:是创建类或函数的蓝图或者公式,比如(STL里面的vector,map,set等),分为函数模板和类模板,函数模板是一种独立于类型的函数,类模板是一种独立于类型的类,模板是泛型编程的基础。


    3. static:static数据成员是存储在程序的静态存储区,而并不是在栈空间上,在类中定义static成员,static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联!(http://wenku.baidu.com/link?url=I-FCVFpHbP2oyCt1Gjb1X5xHk4P475dVU3j8rWd4b4VSuDWd86LdbC7bdYskZdt3CK8PxoldcXDzWPhh9l2O2FNQYdbtK3xfobyItRatDu)


    4. 拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它必须的一个参数是本类型的一个引用变量,如(CExample(const CExample&))。(http://www.2cto.com/kf/201207/143005.html)


    5. 对于一个空类,编译器默认生成四个成员函数:默认构造函数、析构函数、拷贝构造函数、赋值函(http://www.2cto.com/kf/201207/143005.html)


    6. 拷贝构造函数和赋值函数非常容易混淆,常导致错写、错用。拷贝构造函数是在对象被创建时调用的,而赋值函数只能被已经存在了的对象调用。以下程序中,第三个语句和第四个语句很相似,你分得清楚哪个调用了拷贝构造函数,哪个调用了赋值函数吗?  
          String a(“hello”);   
           String b(“world”);
           String c = a; // 调用了拷贝构造函数,最好写成 c(a);
           c = b; // 调用了赋值函数   
    本例中第三个语句的风格较差,宜改写成String c(a) 以区别于第四个语句。

    7.堆和栈的区别:(http://blog.csdn.net/hairetz/article/details/4141043)

         栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其  操作方式类似于数据结构中的栈。  
         堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回  收   。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。  
         全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的  全局变量和静态变量在一块区域,   未初始化的全局变量和未初始化的静态变量在相邻的另  一块区域, 程序结束后由系统释放。

     8. 构造函数可以访问一般函数,一般函数不可以访问构造函数.

     9.类中的成员,只要被执行一定要被对象调用(static除外).

  • 相关阅读:
    谷歌地图API学习
    aspx net.2.0 C#获取IP,URL,浏览器,操作系统
    FLASH+Javascript 1,2,3,4数字标签显示图片
    yui cookie Dynamically Change Text Size Using Javascript 动态设置字体大小,写入Cookie
    [转]控制 Cookie 的作用范围
    C# 关于URL地址操作
    C#_采集
    关于C#_ArrayList的两篇文章
    未能找到存储过程_master.dbo.xp_regread
    [转]C#泛型有什么好处(转)
  • 原文地址:https://www.cnblogs.com/txg198955/p/3999074.html
Copyright © 2011-2022 走看看