博客专栏  >  编程语言   >  C++杂谈

C++杂谈

介绍c++编程出现的问题的解决方案、C++STL、新C++11标准等相关内容。

关注
1 已关注
24篇博文
  • STL 去除多余的容量

    虽然stl容器可以动态分配空间,尤其是顺序容器。但是很多情况下,为了避免对内存的多次分配,将会预先给容器分配很大的内存空间,等数据分配完成后,再进行去除多余的空间,这种方式可以有效提供程序的效率。这里...

    2017-10-30 17:42
    58
  • 避免使用vector<bool>

    vector作为容器,有以下两点不对:1)它不是stl容器 2)它并不存储bool 如果c是包含对象T的容器,而且c支持operate[],那么下面的代码必须能够被编译:T *p= &c[0]因此,...

    2017-11-01 20:29
    34
  • STL 理解相等和等价的区别

    在STL中,比较两个数是否相等,这样的操作很常见。例如:通过find函数在某个区间寻找第一个等于某个值的元素时,find能够比较两个对象是否相等,与之相似的还有set容器的插入操作,判断插入的键值是否...

    2017-11-02 15:10
    34
  • C++ STL list

    list作为C++STL顺序容器,担任着重要的决策。它的插入和删除的时间复杂度为O(1),底层采用双向链表的结构。不多说了,直接上代码:#include #include #include #i...

    2017-10-16 15:38
    50
  • C/C++中输入带空格的字符串用法总结

    在C/C++中,传统的输入流scanf(“%s”,&str) 和cin>>str,遇到空格会返回空格之前的字符串。但是在很多应用中,我们需要字符串中可以同时包含空格,那么前面的两种方法现在就不可用了,...

    2017-10-19 10:01
    75
  • c++读入文本所有内容

    如何用c++将文本所有内容全部读入呢?可以使用getline函数,进行逐行读入。直接上程序:#include #include #include using namespace std...

    2017-10-22 13:44
    79
  • STL 慎重选择删除元素的方法

    假设你有一个容器,Containerc,针对连续内存容器(vector、deque或string),那么最好用erase-remove的习惯用法:c.erase(remove(c.begin(),c....

    2017-10-27 14:25
    329
  • 如何让程序优雅的崩溃

    虽然是大公司的产品,QQ它还是会在我们的折腾下崩溃的,但是它总是崩溃的很优雅,还要弹出自己的对话框来结束。并且发送报告,去掉了系统默认的发送报告的对话框。所以一拍脑袋,想让自己的程序崩溃的体面一点。自...

    2017-08-28 09:30
    89
  • vs2015无法解析外部符号__imp__fprintf 以及imp_iob_func错误

    使用vs2015编译ffmpeg的一个程序时,出现了__imp__fprintf和__imp____iob_func 的错误,以下是官方的回答: In visual studio 2015, std...

    2017-08-02 15:23
    699
  • Linux 使用gdb对c/c++代码进行调试

    c/c++开发的工作者常常需要考虑跨平台使用的问题,那么在linux上编译是必不可少的一部分。gdb是linux下的c/c++调试工具,具体安装(这里用的是centos的系统,其它系统也大同小异):y...

    2017-09-13 20:04
    82
  • VS项目引用的使用

    程序调用到其他二进制文件(如 DLL、Windows 运行时组件、扩展 SDK、COM 组件和 .NET 程序集)中的 API 的情况非常普遍。 程序找到其他此类库的方式取决于项目的类型,以及二进制文...

    2017-09-15 18:19
    53
  • C++11多线程编程

    1. 基本的多线程实现#include #include #includeusing namespace std; class Factor { public: void operator(...

    2017-08-15 14:50
    84
  • C++字符串陷阱

    通常,我们会这样定义字符串并初始化:char *str="string";这样定义虽然能够快速的获取字符串元素值,但是这些字符串是存储在文字常量表中,不能被修改。如果使用指针修改值,将会抛出异常。下面...

    2017-08-24 12:51
    62
  • C/C++结构体初始化

    针对C/C++中定义的结构体,如何初始化其实是一门很深的学问,很多项目的bug是由结构体初始化造成的。struct A { int a; int b[2]; char *c; str...

    2017-09-19 20:01
    66
  • C++字符串分割

    字符串切割的使用频率还是挺高的,string本身没有提供切割的方法,但可以使用stl提供的封装进行实现或者通过c函数strtok()函数实现。1、通过stl实现涉及到string类的两个函数find和...

    2017-10-10 16:24
    78
  • C++ STL入门篇

    STL中有迭代器、算法和函数对象,但是对于大多数c++程序员来说,最值得注意的还是容器。容器比数组功能更加强大、更加灵活。他们可以动态增长(缩减),可以管理自己的内存,总之非常方便我们解决很多问题。下...

    2017-10-10 15:00
    56
  • C++中的list容器如何插入和删除第i个元素

    使用C++中的list容器,假设定义了一个list nlist(30);和迭代器list::iterator pnlist = nlist.begin(); 现在我想删除nlist中的第i个元素如何删...

    2017-10-11 16:30
    88
  • c++11新容器 tuple

    tuple顾名思义是元组的意思,提起元组应该并不陌生,很受欢迎的python就有元组的概念,大家感兴趣可以去看看,这里主要介绍tuple的结构和常用使用方法。首先来看官方给出元组的说明:元组(tupl...

    2017-10-12 10:46
    63
  • C++11标准 正则表达式

    1.介绍 新的标准库定义了一个新的头文件,由一些新的类组成: 1.正则表达式由模板类std::regex的实例来表示; 2.模式匹配由的结果模板类std::match_results的实例来表示...

    2017-10-12 12:00
    63
  • 正则表达式-字符串分割

    C++不像java那样,有自己的字符串分割函数,那么我们在实际应用中如何快速对某些规定格式的字符创进行分割,并提取内容呢? 下面来看代码: 针对IP地址,如何分割:10:22:192:34/17 ...

    2017-10-12 14:29
    66
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部