自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 STL中的构造,析构及填充

头文件c++/5/bits/stl_construct.hc++/5/bits/stl_uninitialized.h源代码及解析stl_construct.h解析//已经给对象分配空间的情况下,构造对象。#if __cplusplus >= 201103L template<typename _T1, typename... _Args> i...

2018-12-05 22:16:21 634

原创 STL中vector的基类实现

头文件c++/5/bits/stl_vector.h源代码解析/// See bits/stl_deque.h's _Deque_base for an explanation. // 数据类型,构造器类型 template<typename _Tp, typename _Alloc> struct _Vector_base { //...

2018-12-04 23:02:45 687

原创 STL中的构造器

头文件c++/5/ext/new_allocator.hc++/5/ext/allocator_traits.hx86_64-linux-gnu/c++/5/bits/c++allocator.hc++/5/bits/allocator.h作用为基本数据类及定义类 类型 构造内存空间。源代码解析new_allocator.h//new_allocator.hte...

2018-12-04 22:01:30 779

原创 Boost中datastruct的multi-array用法

头文件multi_array.hpp作用创建多维数组。构造需要2步:1.指定 数据类型及维度,2.指定每一个维度有多少列方式一:typedef boost::multi_array<double, 3> array_type;array_type A(boost::extents[3][4][2]);方式二:typedef boost::multi_ar...

2018-11-28 15:44:56 361

原创 Boost中Datastruct模块的variant用法

头文件boost/variant.hpp作用将基本数据类型及自定义类,以variant类型存储,或者boost::get用于将variant转成需要的类型,如果失败,则抛出bad_cast_exception;另外结合boost::static_visitor,可使用更加强大的功能。 举例std::vector< boost::variant<int, std:...

2018-11-28 13:37:53 218

原创 Boost中DataStruct模块的any

头文件boost/any.hpp作用将基本数据类型,自定义类类型,指针类型,转化为any,同时通过any_cast函数,将any类型,转为需要的类型,如果转化失败,则会抛出bad_any_cast异常。any类,有如下APIswap:交换,与std::swap一致。empty:判断any是否为空,如果构造一个无惨的any,则为 trueclear:将 有参数类型的an...

2018-11-27 22:07:33 227

原创 Boost中string的regex用法

头文件boost/algorithm/string/regex.hpp作用string的regex有如下APIfind_regex:查找字符串str中第一次满足 regex的子串,返回子串起始,终止位置。replace_regex:查找字符串str中第一次满足 regex的子串,并用新子串 替换。replace_all_regex:查找字符串str中所有满足 regex的...

2018-11-27 00:04:01 1380

原创 Boost中string的erase及replace用法

头文件boost/algorithm/string/erase.hppboost/algorithm/string/replace.hpp作用字符串删除有如下APIerase_range_copy:删除字符串str,从指定位置[begin, end),返回新的字符串,原来字符串不改变。erase_range:删除字符串str,从指定位置[begin, end),原来字符串改...

2018-11-26 23:51:02 4545

原创 Boost中string的split用法

头文件boost/algorithm/string/split.hpp作用string的split包括如下APIfind_all:在字符串string str中查找string sub,返回找到的所有的 sub。ifind_all:在字符串string str中查找string sub,同时忽略大小,返回找到的所有的 sub。split:将字符串按照某些条件,进行分割,返...

2018-11-25 21:44:08 1945

原创 Boost中string模块的join用法

头文件boost/algorithm/string/join.hpp作用string的join系列 包括如下APIjoin:将字符串 列表,使用指定的字符,连接起来,返新的字符串。join_if:将字符串 列表,满足特定条件,使用指定的字符,连接起来,返新的字符串。举例#include <boost/algorithm/string/join.hpp>...

2018-11-25 21:34:00 5162

原创 Boost中string模块的predicate用法

头文件boost/algorithm/string/predicate.hpp作用string的谓语有如下API:starts_with,判断string str是否以string sub开始,返回true,或falseistarts_with,判断string str是否以string sub开始,同时忽略大小写,返回true,或falseends_with,判断str...

2018-11-25 21:25:05 976

原创 Boost中string的查找用法

头文件boost/algorithm/string/find.hpp作用string的查找有如下APIfind_first,在大字符串中查找子串第一次出现时,返回 子串在大串的位置。ifind_first,在大字符串中查找子串第一次出现时,并且忽略大小,返回 子串在大串的位置。find_last,在大字符串中查找子串最后一次出现时,返回 子串在大串的位置。ifind_...

2018-11-25 21:03:21 2098

原创 Boost中string的大小写转换用法

头文件boost/algorithm/string/case_conv.hpp作用主要有如下APIto_lower_copy:将原来字符串,转换为小写字符串,并返回新的字符串,原来字符串不改变。to_upper_copy:将原来字符串,转换为大写字符串,并返回新的字符串,原来字符串不改变。to_lower:将原来字符串,转换为小写字符串,原来字符串改变。to_uppe...

2018-11-25 21:03:11 3135

原创 Boost中string的操作trim用法

头文件boost/algorithm/string/trim.hppboost/algorithm/string/trim_all.hpp作用删除字符串首尾空格,主要包括如下APItrim_left_copy:删除字符串首部空格,并返回 新的字符串,原来的字符串 不改变。trim_right_copy:删除字符串尾部空格,并返回 新的字符串,原来的字符串 不改变。tri...

2018-11-25 21:02:56 12029

原创 Boost中Core模块的visit_each用法

 头文件boost/visit_each.hpp作用按照 指定的谓词 处理,如果参数为一个集合,则处理集合的每一个元素,如果参数为一个元素,则,只处理一次。举例#include <boost/visit_each.hpp>#include <boost/core/lightweight_test.hpp>#include <string&g...

2018-11-25 21:02:36 458

原创 Boost中Core模块的typeinfo用法

头文件boost/core/typeinfo.hpp作用与std::typeinfo 功能一致举例#include <boost/core/typeinfo.hpp>#include <boost/core/lightweight_test.hpp>#include <iostream>int main(){ BOOST...

2018-11-24 14:33:02 307

原创 Boost中Core模块的ref用法

头文件boost/core/ref.hpp作用能够将 基本数据类型及自定义类,进行 包装,及解引用;还可以对函数进行 包装,及解引用主要API:boost::ref,boost::cref,boost::is_reference_wrapper,boost::unwrap_reference主要宏:BOOST_TEST_REF,BOOST_TEST_CREF举例基本数...

2018-11-24 14:25:54 319

原创 Boost中Core模块的lightweight_test用法

头文件boost/core/lightweight_test.hpp作用lightweight_test.hpp提供了大量的宏定义,如下#define BOOST_TEST(expression)                                                                           /*判断 表达式 为真 */#de...

2018-11-24 12:17:53 210

原创 Boost中Core模块的noncopyable用法

头文件boost/noncopyable.hpp作用noncopyable能让继承它的子类,不具备 拷贝构造及赋值构造 的功能。举例#include <boost/noncopyable.hpp>#include <iostream>// This program demonstrates compiler errors resulting ...

2018-11-24 11:46:17 290

原创 Boost中Core模块的is_same用法

头文件boost/core/is_same.hpp作用is_same是一个模板类,内部有一个 static const bool value,接收两个参数,都是数据类型,包括 自定义的类型,如果两个类型一致,则 value=true,否则 value=false举例#include <boost/core/is_same.hpp>#include <boo...

2018-11-24 11:37:37 725

原创 Boost中Core模块的ignore_unused用法

头文件boost/core/ignore_unused.hpp作用C++中,没有使用的变量,在编译期间,会出现警告,ingnore_unused就是解决这一问题的。举例#include <boost/core/ignore_unused.hpp>BOOST_CXX14_CONSTEXPR int test_fun(int a){ boost::ig...

2018-11-24 11:30:11 1309

原创 Boost中Core模块的enable_if用法及说明

头文件boost/utility/enable_if.hpp作用enable_if,lazy_enable_if,disable_if,lazy_disable_if 作用说明enable_if 说明template <class Cond, class T = void> struct enable_if : public enable_if_c<Co...

2018-11-24 11:20:09 1184

原创 Boost中Core模块的demangle用法及说明

头文件boost/core/demangle.hpp作用我们都知道,C++中,编译变量,类,及全局函数,编译后的名称,已经发生了改变,我们称之为 添加修饰。那么,我们有什么方法将这种修饰,擦除掉呢?,demangle能够帮助我们完成这一项功能。举例boost::core::demangled_name#include <boost/core/typeinfo.hp...

2018-11-24 10:46:15 1404

原创 Boost中Core模块的checked_delete用法

头文件boost/core/checked_delete.hpp作用delete 对象指针,或 对象数组指针,如果对象是不完整定义类型或者空指针,则 编译期间 出错。何为不完整类型定义,就是只有 类型前置声明,没有引入头文件。举例//base.h#include <iostream>using namespace std;class Base{p...

2018-11-24 10:11:22 353

原创 boost中Core模块,addressof使用及说明

头文件boost/core/addressof.hpp作用获取基本变量的地址,或者是 类变量的地址,或者是 函数的地址,它比 &符号 功能更强,如果一个class 重写 &运算符 ,当对这个类的变量 取&,其意义不是 获取对象的地址,而是 会调用 &运算函数,而 addressof,则不管 class 是否重写 &运算符,它都会去对象的地址。...

2018-11-24 09:40:45 701

Access数据库 ADO的封装

对ADO访问Access数据库的封装,使用非常方便,提交源代码,可以进一步改进

2015-12-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除