
C++primer
littletomatodonkey
work and life balance
展开
-
C++ i(o)f(s)stream
C++ i(o)f(s)stream原创 2016-11-02 21:14:36 · 275 阅读 · 0 评论 -
C++模板与泛型编程
模板与泛型编程OOP和泛型编程都能处理在编写程序时不知道类型的情况,不同之处在于:OOP能处理在程序运行之前都未知的情况;而在泛型编程中,在编译时就能知道类型。这里有个类模板的例子,实现了矩阵的基本运算:https://blog.youkuaiyun.com/u012526003/article/details/80116295定义模板编译器可以推断出函数模板的类型,即根据传参类型进行推断...原创 2018-05-09 10:48:28 · 519 阅读 · 0 评论 -
C++随机数
C++随机数C中的做法之前都是使用rand()函数进行无符号随机整数的生成,如果需要生成对应的范围或者浮点数,需要自己进行一些修改,unsigned随机数生成的方法如下所示。在使用中,为了使得每次运行的结果都不一样,我们将当前时间对应的无符号数作为初始化的种子。codevoid randOld(){ // 按照时间来初始化种子,保证每次结果不一样 srand(...原创 2018-05-09 11:56:15 · 397 阅读 · 0 评论 -
C++表达式
C++表达式主要是参考C++ primer书籍上的一些内容,加上一些找的其他资料与自己写的代码重载右键头->详细解释:https://blog.youkuaiyun.com/friendbkf/article/details/45949661二维数组引用二维数组中,每个元素都是一个一维数组。但是如果在使用中,直接取其特定的值,会将该值视为指针(指向一个一维数组),而如果...原创 2018-05-02 16:44:47 · 808 阅读 · 0 评论 -
C++函数
函数参数传递C++有两种参数传递方式:值传递,引用传递,值传递是根据传入的参数重新初始化一个对象,然后对这个对象进行修改,这个不会影响原来的值;引用传递是传入变量的引用,在函数中修改该引用,就可以直接对原始变量进行修改(如果没有被const关键字修饰的话)如果需要修改变量,而不使用返回值的形式,可以使用指针传参(修改指针所指的对象)或者是引用传参返回值对于返回值为v...原创 2018-05-02 21:06:47 · 212 阅读 · 0 评论 -
C++输入输出流
输入输出流说明:IO对象无拷贝或者赋值的操作,有许多标志位,可以判断当前IO的状态控制台输入输出主要是cin与cout标准库将cin与cout关联在一起,当使用cin的时候,cout的缓冲区也会被刷新文件输入输出文件模式分类 in:以读方式打开out:以写的方式打开app:每次写操作前,都定位到文件末尾ate:打开文件后,立刻定位到文件末尾...原创 2018-05-02 23:19:27 · 467 阅读 · 0 评论 -
C++顺序型容器使用中一些注意的地方
顺序型容器使用中一些注意的地方vector的push_back与emplace_back相对于push_back,emplace_back在添加元素时不会进行额外的复制或者拷贝工作参考链接:http://en.cppreference.com/w/cpp/container/vector/emplace_back上面的特点是左值引用(&)与右值引用(&&)...原创 2018-05-04 19:50:39 · 189 阅读 · 0 评论 -
C++关联型容器(主要介绍了有序关联容器)
关联型容器使用中一些注意的地方主要有map与set,衍生出unordered与multi版本的mapmap中每个元素都是一个[key,value]的pair对象,可以通过first与second访问key和value,在操作的时候,可以对value进行修改,但是不能对key进行修改。multiset/multimap对于map与set,其中没有重复元素,因此可...原创 2018-05-05 10:17:16 · 890 阅读 · 0 评论 -
C++动态内存
动态内存动态内存与智能指针C++中使用new和delete进行动态内存的管理,但是有时候难以确保内存分配或释放的准确性。针对这个问题,标准库中提供了智能指针,可以自动释放所指的对象,shared_ptr允许多个指针指向同一个对象。shared_ptr进行拷贝或者赋值时,每个shared_ptr会记录有多少个其他的shared_ptr指向相同的对象,可以认为每个shar...原创 2018-05-05 22:45:11 · 166 阅读 · 0 评论 -
C++ 拷贝控制
拷贝控制拷贝、赋值和销毁有5种拷贝操作:拷贝构造函数,拷贝赋值运算符,移动构造函数,移动赋值运算符和析构函数拷贝构造函数拷贝构造函数的第一个参数必须是引用类型,为了明确避免在构造函数中修改传参,我们一般也令其为const,形式为Foo(const Foo&)如果用户没有自己定义拷贝构造函数,编译器会为我们定义一个,但是涉及到内存空间管理等问题时,默认的拷贝构...原创 2018-05-07 08:55:54 · 225 阅读 · 0 评论 -
C++面向对象
面向对象相同主题的一篇参考链接:https://blog.youkuaiyun.com/u012526003/article/details/80116295定义基类和派生类成员函数和继承C++中,基类需要将其两种成员函数区分开 基类希望其派生类进行覆盖的函数基类希望派生类直接继承而不改变的函数对于上述前者,基类通常将其定义为虚函数,用virtual关键字进行区分,当调用虚函数...原创 2018-05-08 10:57:44 · 686 阅读 · 0 评论 -
C++三种线性排序算法
基数排序基于比较的排序方法无法做到在O(N)O(N)O(N)的时间复杂度内完成对数据的排序,但是基数排序不是基于比较的排序方法。基于排序的原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的平均时间复杂度为O(dN)O(dN)O(dN),d是数据的位数,空间复杂度是O(kN)...原创 2018-05-16 10:34:04 · 522 阅读 · 0 评论 -
kmp算法
简介有些地方讲的已经很详细了,在这里只给出参考链接参考链接 next矩阵的生成,启发很大:http://www.cnblogs.com/c-cloud/p/3224788.html整个kmp算法流程,读完就懂:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html...原创 2018-04-15 00:14:10 · 199 阅读 · 0 评论 -
蓝桥杯 错误票据
题目链接地址http://lx.lanqiao.cn/problem.page?gpid=T28注意我自己之前写的代码不需要ctrl+z结束输入,而蓝桥测评系统上应该是ctrl+z之后enter结束输入,因此无法结束,一直报错,在这里贴出自己的代码和别人的,当ctrl+z用于结束输入当前的while输入循环,enter表示从输入的缓冲区获取字符。#include<std...原创 2018-03-29 21:25:39 · 512 阅读 · 0 评论 -
C++容器适配器使用
C++容器适配器使用原创 2016-11-03 22:13:20 · 543 阅读 · 0 评论 -
C++ 泛型
C++ 泛型原创 2016-11-04 00:09:17 · 456 阅读 · 0 评论 -
C++ 关联容器
C++ 关联容器原创 2016-11-05 11:53:50 · 291 阅读 · 0 评论 -
C++拷贝、赋值与销毁
C++拷贝、赋值与销毁原创 2016-11-08 02:48:00 · 498 阅读 · 0 评论 -
C++重载运算与类型转换
C++重载运算与类型转换原创 2016-11-11 16:30:38 · 337 阅读 · 0 评论 -
C++继承
C++继承原创 2016-11-12 19:34:04 · 351 阅读 · 0 评论 -
C++模板与泛型编程
C++模板与泛型编程原创 2016-11-13 10:24:13 · 349 阅读 · 0 评论 -
C++ tuple
C++ tuple原创 2016-11-14 17:34:13 · 288 阅读 · 0 评论 -
C++正则表达式
C++正则表达式原创 2016-11-14 18:56:07 · 466 阅读 · 0 评论 -
C++ 格式化IO
C++ 格式化IO原创 2016-11-14 19:51:05 · 380 阅读 · 0 评论 -
C/C++函数指针与函数指针数组的使用
说明函数指针是声明一个指针p,它指向一个函数,需要指定指针的参数类型与返回值类型函数指针数组则是类似于数组的形式,只不过形式与函数指针类似参考链接:https://blog.youkuaiyun.com/armyshen/article/details/8799310代码#include<stdio.h>#include<string.h>#include &l...原创 2018-03-29 18:51:11 · 797 阅读 · 0 评论 -
linux下多线程C++运行时间统计
linux下多线程C++运行时间统计CMakeLists.txt下面所有的代码的CMakeLists.txt如下cmake_minimum_required(VERSION 2.8)list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)# else can not fin nullptr and...原创 2018-06-29 23:12:16 · 8375 阅读 · 1 评论