您现在的位置是:课程

周哥教IT.C++面向对象与STL库

2023-06-13 21:01课程 人已围观

周哥简介   
周哥:男,真名周扬荣,毕业于中科院软件所。曾就职于阿里巴巴,奇虎360安全公司,SUN中国工程研究院,北大计算机研究所等,创办了“麦洛科菲”高端IT安全培训 。   


在从事程序设计与开发期间,主要参与研发的产品包括:    
1.“火眼”Rootkit检测工具   
2.基于Linux内核开发的服务器双机热备   
3.Solaris内核声卡,显卡驱动   
4.Comodo Internet Security 中的Defense+/Sandbox内核驱动开发   
5.360安全卫士文件防火墙,桌面流氓图标智能防护   
6.拥有国家发明专利两项   
7.著有《程序员求职成功路:技术、求职技巧与软实力培养》,《电脑系统与数据安全防护》,《加密与解密-第4版》(作者之一)等书,在当当,京东360,CSDN等网站广获读者5星好评和推荐,并被包括北京大学,清华大学,中国科学技术大学在内的众多高校图书馆收藏。   

此外,曾亲临美国加州硅谷工作生活过一段时间,并在SUN公司总部做过Solaris内核开发的技术报告;还曾经作为海文学校计算机专业考研讲师,负责中科院计算机专业考研专业课的课程讲解。      

课程大纲
1,C++学习序言
2,面向对象与面向过程(OOP VS POP)
3,C++与C语言区别
4,面向对象之封装
5,面向对象之继承
6,构造函数2个问题
7,面向对象之多态
8,面向对象之重载
9,面向对象实现多线程自动锁
10,单实例设计模式与多线程安全
11,C++课后作业:实现String类
12,STL模板库概述
13,vector容器
14,list容器
15,deque容器
16,set/multiset关联容器
17,map/multimap关联容器
18,适配器:stack,queue,priority_queue
19,STL算法与各种容器比较

学员评价   
感谢麦洛科菲,讲得比大学老师好!   

错误更正
视频1小时02分开始,在实现setName函数时,需要提前释放m_Name的内存。即正确版本为:
    void setName(char *name)
    {
        if(m_name)
            delete []m_name;
        if(name==NULL)
        {
            m_name=new char[1];
            *m_name='\0';
        }
        else
        {
            m_name=new char[strlen(name)+1];
            strcpy_s(m_name,strlen(name)+1,name);
        }
    }
  第10节 单实例设计模式与多线程安全
CLock *A::m_lock = new CLock();没有释放
修改:在类A中添加一个public静态方法:
    static void destroyA() {
        if(m_pA)
            delete m_pA;
        if(m_lock)
            delete m_lock;
    }
然后在main函数最后调用:
    A::destroyA();

第14节PPT里:

int main(int argc, char *argv[])
{
list<char> lst;// 这里应该是lst,不能和list一样
for( char c = 'a'; c < 'z' ; ++c)// 这里应该是for,而不是if
{
    lst.push_back(c);
}
list<char>::const_iterator pos;
for (pos = lst.begin(); pos != lst.end(); ++pos)
{
   cout << *pos << " ";
}
lst.sort(greater<int>());//erase()
//find()
cout << endl;
}

 
勘误提示:如您在学习过程中发现任何“错误”,请通过email:zyr(at) mallocfree.com告知我们错误所在的课程名称和错误所在视频的时间起始位置。错误一经我们确认,我们将会在该门课程的“课程概述”里提供“错误更正”信息,并对您表示衷心的感谢。 
-->

站点信息

  • 文章统计篇文章