博客专栏  >  编程语言   >  c/c++学习

c/c++学习

一起学习c++

关注
1 已关注
29篇博文
  • c++拷贝控制

    拷贝作为内存管理的最常的行为操作,c++中很多隐藏的内存问题和bug都是由于不正确的拷贝行为引发的,这里我们以最基本的拷贝构造函数,拷贝赋值运算符和析构函数作为切入点来谈一谈如何正确的进行c++的拷贝...

    2017-12-23 12:28
    682
  • C++模板元编程

    所谓元编程就是编写直接生成或操纵程序的程序,C++ 模板给 C++ 语言提供了元编程的能力,模板使 C++ 编程变得异常灵活,能实现很多高级动态语言才有的特性(语法上可能比较丑陋,一些历史原因见下文)...

    2017-12-17 18:07
    752
  • 线程安全的对象生命周期管理

    首先有关线程安全的定义: 1 多线程同时访问保证其逻辑正确性 2 在多线程同时运行时,保证线程执行顺序的正确性 3 调用该部分代码时,不需要额外的同步操作,从这些方面可以判断出标准库中如vector,...

    2017-11-04 18:12
    588
  • c++ 一百问

    1 比较c和c++? 2 如何理解面向对象? 3 接口与实现的分离有什么好处? 4 继承是否会削弱封装机制? 6 如何理解动态特性? 7 如何理解类和对象? 8 如何理解对象的初始化? 9 如何理解对...

    2017-10-14 17:36
    341
  • 唤醒线程是否要持有锁(Signal With Mutex Locked Or Not?)

    我们经常需要通过某种条件去唤醒和阻塞一个线程,我们唤醒线程时是否需要继续持有锁呢,换句话说我们是先释放锁再唤醒还是先唤醒再释放锁呢?      pthread_mutex_lock(&mutex); ...

    2017-10-22 11:41
    964
  • c++11 map和unordered_map

    c++11 map,set和unorderedmap,unorderedset

    2017-08-23 16:44
    467
  • c++循环引用

    虽然C++11引入了智能指针的,但是开发人员在与内存的斗争问题上并没有解放,如果我门实用不当仍然有内存泄漏问题,其中智能指针的循环引用缺陷是最大的问题。 // // main.cpp // tes...

    2017-09-09 21:21
    397
  • c++实现skipList

    c++实现skipList

    2017-09-16 17:16
    465
  • c++ const的各种用法

    const限定符 1.定义const对象 熟悉的形式  const  int bufSize = 512; 变量bufSize仍然是个左值,但是不能修改的,因为常量在定义后就不能修改,所以定义时必须初...

    2017-08-27 11:36
    698
  • c++ RTTI机制和类型转化

    RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类型的方法。C++数据类型是在编译期就确定的,不能在运行时更改。然而由于面向对象程...

    2017-08-06 18:48
    647
  • 用内存池管理c++对象

    当一个系统中 ,有一些对象需要频繁的申请和释放时,为了提高性能我们通常用内存池来管理这部分对象,这里给一个内存池的实现,我们用双向链表和数组实现内存池来管理c++对象。      内存池类    ...

    2017-07-29 13:55
    1347
  • c++ 性能优化策略

    1 关于继承:不可否认良好的抽象设计可以让程序更清晰,代码更看起来更好,但是她也是有损失的,在继承体系中子类的创建会调用父类的构造函数,销毁时会调用父类的析构函数,这种消耗会随着继承的深度直线上升,所...

    2017-07-22 17:27
    1070
  • C++函数重载的实现原理

    对于c++来说,可以多个函数公用一个函数名,但是这些函数的参数类型需要不一样,也就是说c++中相同的函数名但是函数参数不同可以代表不同的函数,当你去调用这些函数时,编译器可以根据你的传入参数的类型去判...

    2016-11-22 00:01
    1815
  • memmove(),memcopy(),memset()对std::string的影响,以及它们在c/c++中正确的使用方法。

    memmove(),memcopy(),memset()是c语言中非常常用的函数,具体功能这里不详细介绍。当它们对于c++标准库中的string进行操作时会产生什么影响呢?我们先来看一段程序。 // ...

    2016-12-02 23:35
    641
  • c++虚函数实现机制以及类继承中的内存分布

    c++为了兼容c保留了struct类型,但是c++中的struct和c有明显的区别,c++中的struct可以继承,可以有成员函数,但是在c中却不行,在c++中struc和class更相似(还是有一些...

    2016-12-16 20:53
    703
  • c++中的函数指针和类成员函数指针

    在c中函数指针的形式很简单 函数返回type+(*函数名)+参数,为了使用方便我们经常通过typedef来重新定义,下面来看一个例子。 #include typedef int (*DGUCO_...

    2016-12-28 23:57
    1858
  • c++ placement new操作符的使用技巧

    在c++中new和delete操作是我们操作内存最常用的一对操作符,在使用new时编译器会申请内存,然后调用类的构造函数来初始化对象,调用delete会销毁对象同时释放该对象占用的内存,并且我们可以重...

    2017-01-04 23:18
    1101
  • c++的分离式编译模式为什么不支持模版

    在我们做c++开发的过程中,通常我们写一个类就会有一个.h和.cpp文件,当我们需要调用一个函数或者引用一个变量时我们只需要包含声明这些函数或者变量的.h文件即可, 当我们编译c++项目时,每个cpp...

    2017-02-19 17:41
    606
  • 如何写出线程安全的类和函数

    如何写出线程安全的类和函数

    2017-02-23 21:56
    584
  • cpu cache的魔法

    首先简单了解一下什么是cpu cache这里推荐一篇文章吧,说的很详细。      关于cpu cache:点击打开链接      接下来我们看一些程序片段。 #include #incl...

    2017-03-01 11:09
    429

LeetCode
3311
golang学习
615404
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部