C++基础知识

1. 接口(一种特殊类): a. 类中没有任何成员变量;b. 类中所有成员函数都是public, 而且都是纯虚函数.

2. 引用,别名,与指针不同: a.不存在NULL;b. 被初始化后,不能指向别的对象;c. 必须在创建时初始化。

int i=7; 
int& r = &i;
1)引用做参数:
int a =1; int b = 2;
swap(a,b);
void swap(int & a, int & b){
    int temp;
    temp =a;
    a = b;
    b = temp;
}

3. 类初始化initialization 和 assignment的区别

    https://blog.csdn.net/l1dian11/article/details/81012439  

4. C++设计模式 https://blog.csdn.net/lh844386434/article/details/17928331

5. struct里面的变量有内存对齐问题,为了平台移植性好及cpu读取效率高。 比如:

//平台VS2013下(默认对齐数为8)
//练习一
    struct S1
    {
        char c1;    //1->4
        int i;         //4
        short s2;   //2->4
    };
    printf("%d\n", sizeof(struct S1));//12
//练习二
    struct S2
    {
        char c1;   //1->2
        short s2;  //2
        int i;        //4
    };
    printf("%d\n", sizeof(struct S2));//8

6. adaptor: https://blog.csdn.net/oLanSeFengYe1/article/details/50232117

7. 顺序性容器(sequential container) vector list区别

vector:
>内存连续(一般2倍于需要的内存,当插入太多,不够时会重新申请一大块儿连续内存,把旧的数据copy到新内存), 插入不方便(多时慢),查找方便O(1)
>重载了[],+,+=,< list: >双向链表实现,适合于大批量插入删除,查找速度慢O(n)
>没有重载哪些操作符,只能itr++访问

   关联容器(associative container) map set区别

都是红黑二叉树(redblack binarytree)实现的
map:
>键值对 key,value = <string, int> //名字,成绩
>key可以重复
set:
>只存一个值key = string //名字(有没有这个人)
>key不能重复

8. C++ STL 函数们: http://www.docin.com/p-654412722.html 

posted on 2019-08-20 10:18  Felizño  阅读(124)  评论(0)    收藏  举报

导航