c++/c++类库
逐梦如风
这个作者很懒,什么都没留下…
展开
-
cpp学习笔记(三)
cpp学习笔记(三)16章 标准模板库简介 17章 STL string类 18章 STL动态数组类 19章 STL list 20章 STL set于multiset 21章 STL map和multimap16章 标准模板库简介 存储信息的容器 访问容器存储的信息的迭代器 操作容器内容的算法17章 STL string类 为何需要字符串操作类原创 2016-10-09 10:08:14 · 825 阅读 · 0 评论 -
c++操作mysql
还是我的抓取小程序需要用到mysql本来想用mysql++的,我在xcode上没有配置好~~所以简单的使用下mysql库,实现sql的增删查c的api支持的数据类型 MYSQL该结构代表1个数据库连接的句柄。几乎所有的MySQL函数均使用它。不应尝试拷贝MYSQL结构。不保证这类拷贝结果会有用。 MYSQL_RES该结构代表返回行的查询结果(SELECT, SHOW, DESCRIBE, EXPLA原创 2016-10-18 15:21:39 · 5078 阅读 · 0 评论 -
c++的日志库
本来想自己写一个的,在网上找了一个。其实日志库大概包含几个方面 缓冲区和输出的源 格式化和分级别 线程安全spdlo c++编写的日志库,下载地址:https://github.com/gabime/spdlog。只用引用头部就可以运行了,很方便。官方的代码例子//// Copyright(c) 2015 Gabi Melman.// Distributed und原创 2016-10-19 11:32:55 · 3425 阅读 · 0 评论 -
cpp的STL算法
cpp的STL算法什么是stl算法操作stl集合的一堆方法。很方便,他们就是一堆工具。你只要熟悉stl就可以很方便的使用他们啦。先明白算法有哪些,有什么作用,然后熟悉一部分常用的,其他的在实践中时候用stl算法的分类非变序算法计数算法 count,count_if搜索算法 search,seach_n find,find_if,find_end,find_first_of,原创 2016-11-01 14:28:47 · 1776 阅读 · 0 评论 -
cpp的stl的位标识
cpp的stl的位标识我们将使用bitset和vector,用他们表示位和位标识信息//// main.cpp// use_stl_bit//// Created by bikang on 16/11/1.// Copyright (c) 2016年 bikang. All rights reserved.//#include <iostream>#include <strin原创 2016-11-01 15:24:01 · 672 阅读 · 0 评论 -
cpp的智能指针
cpp的智能指针智能指针是利用了构造函数分配内存,利用析构函数自动掉的特性释放内存智能指针可以解决一些内存不释放的问题智能指针实现的例子template <typename T>class MySmartPointer {private: T *m_pointer;public: MySmartPointer(T *pdata):m_pointer(pdata){} ~M原创 2016-11-01 16:32:55 · 988 阅读 · 0 评论 -
cpp的处理流
cpp的处理流一堆规则,没有什么特别说明的。不过流都是有缓冲区的,这点要记住了。如果不刷新缓冲区或者关闭文件,数据内容可能不会进入文件。流 数据的封装数据缓冲流和缓冲区streambuf 类管理缓冲区,提供填充,清空,刷新,处理缓冲区的功能ios 输出和输入的基础类,它有一个成员变量为streambufistream和ostream 从ios派生专门管理输入输出行为iostream从istre原创 2016-11-01 17:31:05 · 701 阅读 · 0 评论 -
cpp的异常
cpp的异常我们得区分异常,bug,逻辑错误什么是异常?提供一种安全方法,用于程序可以预见,但不常见的情况如何使用他们?带来的问题?try{}catch(...){}手工引发异常throw “exception”;创建异常类//// main.cpp// use_exception//// Created by bikang on 16/11/1.// Copyright (原创 2016-11-01 18:55:56 · 803 阅读 · 0 评论 -
cpp的适配器模式
cpp的观察者模式//// main.cpp// adpatermodel//// Created by bikang on 16/11/16.// Copyright (c) 2016年 bikang. All rights reserved.//#include <iostream>#include <cstdlib>using namespace std;//以前只需要n原创 2016-11-16 10:39:31 · 721 阅读 · 0 评论 -
对于拷贝构造函数和赋值构造函数的理解
拷贝构造是确确实实构造一个新的对象,并给新对象的私有成员赋上参数对象的私有成员的值,新构造的对象和参数对象地址是不一样的,所以如果该类中有一个私有成员是指向堆中某一块内存,如果仅仅对该私有成员进行浅拷贝,那么会出现多个指针指向堆中同一块内存,这是会出现问题,如果那块内存被释放了,就会出现其他指针指向一块被释放的内存,出现未定义的值的问题,如果深拷贝,就不会出现问题,因为深拷贝,不会出现指向堆中同一块转载 2016-11-15 11:30:41 · 2559 阅读 · 0 评论 -
cpp的单例模式。
cpp的单例模式。禁止在外部使用,构造器,拷贝构造器,赋值重载在一些场合是很有用。//// main.cpp// singleData//// Created by bikang on 16/11/15.// Copyright (c) 2016年 bikang. All rights reserved.//#include <iostream>class SignalClass原创 2016-11-15 11:35:25 · 1564 阅读 · 0 评论 -
cpp学习笔记(一)
cpp学习笔记(一)由于已经有了一定的编程基础了,cpp的前几章节和c很像,稍微有一点点不同,因此大略的看看这些笔记是我看的书籍的大纲 ,边看书,边回想大纲里面的内容,写一些简单的测试例子基础的1-9章1 绪论2 C++程序的组成部分3 使用变量和常量4 管理数组和字符串5 使用表达式、语句和运算符6 控制程序流程7 使用函数组织代码8 指针9 引用第一章为何c++是软件开发的标准原创 2016-09-25 15:21:07 · 1633 阅读 · 0 评论 -
cpp学习笔记(二)
cpp学习笔记二作为一个cpp的初学者,我一直在语法的泥潭里面挣扎。 我想不要太在意那些语法细节,不对语法做深刻的思考和总结,快速的对cpp的语法有一个大致的了解对应的章节10 类和对象11 实现继承12 多态13 运算符类型和运算符重载14 类型转换运算符15 宏和模板第10章什么是类和对象如何定义新类并创建其对象什么是成员函数和成员数据什么是构造函数?如何使用它们第11章什原创 2016-09-30 11:00:59 · 701 阅读 · 0 评论 -
cpp学习笔记(四)
第22章 理解函数对象 第23章 STL算法 第24章 自适应容器:栈和队列 第25章 使用STL位标志第22章 理解函数对象 函数对象的概念 将函数对象作为谓词 如何使用函数对象实现一元和二元谓词第23章 STL算法 了解算法的分类:变序算法和非变序算法 非变序算法 计算cout cout_if 搜索 search,search_原创 2016-10-09 14:45:33 · 362 阅读 · 0 评论 -
cpp中string和字符串之间的相互转换
void charChage(){ //1. string转const char* string s ="hello cpp"; const char* c_s = s.c_str(); cout << c_s << endl; //2. const char*转string 直接赋值即可 // char* 转string也可以这么干 const原创 2016-10-10 14:04:40 · 2362 阅读 · 0 评论 -
运算符重载
运算符重载运算符重载的意义摘自百度百科。c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,所以运算符重载有两种方式:成员函数和友元函数。成员函数的原创 2016-10-24 11:02:55 · 816 阅读 · 0 评论 -
c++使用libpcre捕获多行数据
由于初次尝试用c++写个简单的爬虫系统,不免用到正则,正则有多行匹配等特性,以前一直用php开发pcre_match加上正则修正符m多行,i忽略大小写 s.代表任意字符,不要太方便,所以在使用cpp的时候遇到了困惑。实际上pcre匹配数据是多次去匹配的, 我匹配到一个数据,然后对源数据进行偏移,然后匹配下一个,这样子,知道最后一个#include "pcre.h"#include <stdio.原创 2016-10-14 15:32:10 · 1019 阅读 · 0 评论 -
c++使用libpcre
我还是不太习惯使用regex,习惯使用pcre标准的正则库 先放上代码#include "pcre.h" #include <stdio.h> #include <string.h> #define OVECCOUNT 256int main(int argc, char ** argv) { char pText[1024] = "<div class=\"main-w原创 2016-10-13 13:49:02 · 2555 阅读 · 0 评论 -
c++标准库的正则regex
可能是我习惯了regex,是真的不太习惯使用regex而且regex不习惯,也不太熟悉比如我只想匹配数据里面所有的字符,非得把正则表达式写全了。subject123匹配123非得是subject([0-9]+),其实我想用([0-9]+) 太不熟悉他们了。 如果我用php写,php的正则是基于pcre库的,改天试试pcre库$str = "subject123";$parter = "(\d+原创 2016-10-12 15:21:51 · 4924 阅读 · 0 评论 -
c++使用libiconv
做一个抓取的小项目使用c++调用libiconv 一直提示报错 No matching function call iconv在c下能调用,在c++下无法调用。 是命名冲突的问题,新建一个namespace即可#include <iostream>#include "stdio.h"#include "string.h"namespace myconv{ #include "icon原创 2016-10-11 13:59:13 · 2928 阅读 · 0 评论 -
转载c++中的string
C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。要想使用标准C++中string类,必须要包含#include // 注意是,不是转载 2016-10-10 14:28:57 · 335 阅读 · 0 评论 -
c++读写文件
在代码里面有一个地方没有涉及到缓冲 强制缓冲可以通过flush 和endl,close,或者是明确调用函数sync()去刷新//// main.cpp// use_fstream//// Created by bikang on 16/10/10.// Copyright (c) 2016年 bikang. All rights reserved.//#include <ios原创 2016-10-10 14:51:15 · 407 阅读 · 0 评论 -
c++使用libcurl
最近一直在写个抓取天猫数据的小工具,用到libcurl库#include <iostream>#include "curl/curl.h"using namespace std;void tcurl();size_t myWrite( void *ptr, size_t size, size_t nmemb, void *stream);int main(int argc, char cons原创 2016-10-11 13:50:19 · 1348 阅读 · 0 评论 -
c语言的日志库
最近重新温习下c语言,在linux环境下写些小功能。做一个小项目项目的目标如下1 输出时间和日期,任意指定的字符串,记录文件名,行数2 支持输出各种级别的数据3 默认输出数据到终端4 支持输出日志到文件对于初次写c项目的人来说的难度。1 各种标准库2 理解这种模式,手动的分配内存,释放内存涉及到的…的替代方式 __VA_ARGS__变长数据的读取 va_start(arg原创 2017-10-29 19:40:37 · 3246 阅读 · 0 评论