当前位置: 首页 >  最新文章 >  C++ 最新文章

  • C++中字符串的使用
    当我们一开始使用C语言来处理字符串的时候,会感觉非常的麻烦。C语言中缺少相应的字符串处理函数,如果想要实现某个字符串功能,只能靠我们自己来实现。但是当来到C++中,字符串的处理就会变得异常简单。今天我们就来学习一下C++中最高频的字符串处理函数。
  • C++11中的mutex, lock, condition variable实现分析
    C++11中的各种mutex, lock对象,实际上都是对posix的mutex,condition的封装。不过里面也有很多细节值得学习。
  • C++ 中随机函数 rand() 和 srand() 的用法
    本文讲解了随机函数 rand() 和 srand() 的用法,并给出了程序实例
  • g++ 和 gcc 的相同点和区别
    gcc和g++都是GNU(一个组织)的编译器,对gcc和g++的区别和联系做一下整理和总结
  • NULL 指针、零指针、野指针
    在C++编程中使用指针能有速度快,节约内存等优点,是很多C++程序员的最爱。但指针是一把双刃剑,用好了它,你就会发现指针有多么的方便,反之,你可能就头疼了,往往会出现意想不到的问题。介绍一下几个异常指针。
  • C++ 虚函数和虚继承浅析
    本文针对C++里的虚函数,虚继承表现和原理进行一些简单分析,有不对的地方请指出。下面都是以VC2008编译器对这两种机制内部实现为例。
  • C++ 的一大误区——深入解释直接初始化与复制初始化的区别
    有很多读者向我提出了疑问,并写了一些测试程序,来说明直接初始化与复制初始化是同一件事。让我了解到大家对于直接初始化与复制初始化的区别的确是不太清楚,无可否认,那篇文章的例子用得的确不太好,在这里表示歉意!所以我觉得还是有必要跟大家详细分享一下我对直接初始化和复制初始化的理解。
  • C++ 中四种强制类型转换的区别
    使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast。他们有什么不同之处呢
  • c++: size_type 与 size_t一些概念
    size_t不是容器概念。 size_type是容器概念,没有容器不能使用。
  • memmove 和 memcpy 的区别
    memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容
  • 彻底解密 C++ 宽字符
    用多个字节来代表的字符称之为宽字符,今天我们就来聊一聊C++宽字符那些事。
  • 互斥量与临界区的区别
    不管是辅助线程还是用户接口线程,在存取共享资源时,都需要保护共享资源,以免引起冲突,造成错误。处理方法类似于Win32 API函数的使用,但MFC为我们提供了几个同步对象C++类,即CSyncObject、CMutex、CSemaphore、CEvent、CCriticalSection。这里,CSyncObject为其它四个类的基类,后四个类分别对应前面所讲的四个Win32 API同步对象。
  • STL 之 vector 容器详解
    vector是C++标准模版库(STL,Standard Template Library)中的部分内容。之所以认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单的说:vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
  • C++命名空间
    命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。
  • 常对象与常成员函数
    用const修饰的对象叫对象常量,常对象实例化后将不能被改变,而且常对象也不能调用其它成员函数,那么它有什么用呢?办法是,C++编译器故意设计成,常对象只能调用常成员函数,这是它唯一的对外接口。
  • C++ 中 this 指针的用法详解
    一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。
  • C++ 运算符重载讲解与经典实例
    C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作。
  • C 可变长参数 VS C++11 可变长模板
    有些时候,我们定义一个函数,可能这个函数需要支持可变长参数,也就是说调用者可以传入任意个数的参数。比如C函数printf().那么这个函数是怎么实现的呢?其实C语言支持可变长参数的。对于C++这种强类型语言而言,C的这种可变长方案等于是开了个后门,函数居然不知道传进来的参数是什么类型。所以在C++11里面专门提供了对可变长参数的更现代化的支持,那就是可变长模板。
  • 关于 STL 中的 map 和 hash_map
    在网上看到有关STL中hash_map的文章,以及一些其他关于STL map和hash_map的资料,总结笔记如下: 1、STL的map底层是用红黑树实现的,查找时间复杂度是log(n); 2、STL的hash_map底层是用hash表存储的,查询时间复杂度是O(1); 3、什么时候用map,什么时候用hash_map?
  • C++ 值传递、指针传递、引用传递详解
    最近写了几篇深层次讨论数组和指针的文章,其中提到了“C语言中,所有非数组的形式参数传递均以值传递形式”而关于值传递,指针传递,引用传递这几个方面还会存在误区, 所有我觉的有必要在这里也说明一下~