
c++
习惯沉淀,
又惘又怠,既稚且拙
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[c++]小数处理ceil, floor, round
1.去尾法double x = 3.2;int y = x;2.向上取整(不小于x的最小整数)#include<cmath>float x = ceil(2.3);//3.0float y = ceil(3.4);//4.0folat z = ceil(-2.3);//-2.03.向下取整(不大于x的最大整数)#include<cmath&g...原创 2019-03-16 14:19:19 · 1290 阅读 · 0 评论 -
[c++]memset
//memset是string.h头文件下的函数,按照字节给数组附初始值,速度比fill要快#include<string.h> //这是需要包含的头文件void printArr(int a[], int n){ printf("打印元素个数: %d\n", n); for(int i=0;i<n;i++){ printf("%d ", a...原创 2019-03-22 21:19:55 · 152 阅读 · 0 评论 -
[c++]动态链接库dll
c++动态链接库笔记1.前言动态链接库英文为DLL,是Dynamic Link Library的缩写。DLL是一个包含可由多个程序,同时使用的代码和数据的库。例如,在 Windows 操作系统中,Comdlg32.dll 执行与对话框有关的常见函数。因此,每个程序都可以使用该 DLL 中包含的功能来实现“打开”对话框。这有助于避免代码重用和促进内存的有效使用。 通过使用 DLL,程序可以实现...原创 2019-03-22 22:22:02 · 251 阅读 · 0 评论 -
[c++]编译器对程序运行速度的影响
编译器对程序运行速度的影响今天发现对编译器的配置不同会对程序运行的速度有很大影响,原理还没用搞懂,先把问题和解决记录下来以备复查下面以codeblocks为例1.以默认的gcc编译器配置运行程序以一个小的排序过程为例,记录其运行时间约为3秒2.打上Compiler Flags后的情况在这里勾选c++11(或者c++98)标准这时的运行时间:飙升到8秒...原创 2019-03-23 11:18:09 · 2405 阅读 · 0 评论 -
[c++] boost库的使用方法 vs2015
下载文件boost下载地址boost_1_66_0-msvc-14.0-64.exe这个版本对应14.0-vs2015 (64位os)安装编译很多前辈提到用vs2015自带的命令提示符工具,我没有用,直接:运行bootstrap.bat会生成bjam.exe和b2.exe,再次运行bjam.exe,生成目录stage,里面是lib配置在release...原创 2019-03-30 09:07:52 · 574 阅读 · 0 评论 -
[c++]动态分配内存和内存泄漏
动态分配内存1. new 和 delete函数原型:void *operator new(size_t); //allocate an objectvoid *operator delete(void *); //free an object1.1 new和delete的运行机制(单个对象)以类A为例:class A{public: A(int v) ...原创 2019-03-27 16:36:15 · 747 阅读 · 0 评论 -
[c++]异常处理
参考文献:C++ 异常机制分析原创 2019-03-27 16:38:29 · 155 阅读 · 0 评论 -
[c++]transform函数和tolower函数
C++学习transform函数的应用C++tolower函数用法总结原创 2019-06-27 09:45:26 · 1770 阅读 · 0 评论 -
[c++] 用extern在1个h文件中声明所有全局变量
C++extern全局变量原创 2019-06-25 01:19:38 · 738 阅读 · 0 评论 -
[c++] visual studio 编译器设置对程序运行时间性能的影响
visual studio 编译器设置对程序运行时间性能的影响前言:visual studio使用的是MSVC编译器,而且VS一般无法切换编译器直接使用MSVC,这一点并不如codeblocks等轻量级的IDE方便。网上有不同的VS版本与c++标准的对应关系,通过实际使用可以发现至少vs2015是支持c++11新标准的。还是以排序为例,两份完全相同的程序,在codeblocks上用c++9...原创 2019-03-26 02:12:16 · 1953 阅读 · 0 评论 -
[c++] sscanf, sprintf, sscanf_s
1.基本用法 —— str[ ] 与 int float double 的转换#include <iostream>#include<cstdio>#include<string>using namespace std;#include<string.h>#include<stdio.h>#include<ioma...原创 2019-03-25 20:30:58 · 1738 阅读 · 0 评论 -
[c++]数据类型之间的转换(string与基本类型int,float,double,long long等)
类型转换函数 atof——gcvt & atoi——itoa上一篇文章讲了sscanf和sprintf,但sscanf和sprintf比atoi等函数要慢,这里介绍atoi和atofatoi 和atof 都是将字符串转换为数的1.浮点数1.1 atof——将字符串转换为double数(返回值)头文件 #include <stdlib.h>atof()会扫描参...原创 2019-03-25 21:05:52 · 2105 阅读 · 0 评论 -
[c++]数据存储_矩阵_指针形参和数组名实参_矩阵填充
一、参数指针形参和数组名实参#include<iostream>#include<iomanip>#include<cstdio>#include<stdlib.h>#include<cstring>using namespace std;void error(char* message){ //形参是一个cha...原创 2019-03-06 17:45:40 · 551 阅读 · 0 评论 -
[c++]文件IO_fscanf、fprintf、fputs、fputc、fgets、fgetc、fseek、fread、fwrite、ftell
文件IO_fscanf、fprintf、fputs、fputc、fgets、fgetc、fseek、fread、fwrite、ftell在对矩阵操作的过程中应用fscanf()函数对文件内容进行读取,于是对这个函数的用法的原理总结如下一、用法函数原型:int fscanf ( FILE *fp, char * format, ... );int fprintf ( FILE ...原创 2019-03-06 17:42:59 · 598 阅读 · 0 评论 -
[c++]二维矩阵存储及基本操作demo
C++实现二维矩阵存储及基本操作demo/* 调试过程的低级错误:1.循环ij问题;2.指针未经初始化 */#include<iostream>#include<iomanip>#include<cstdio>#include<stdlib.h>#include<cstring>using namespace std;...原创 2019-03-06 14:46:12 · 1413 阅读 · 0 评论 -
[c++]istringstream 将string 转换为 float
#include <iostream>#include<fstream>#include<string>#include<sstream>#include<stdlib.h>#include<algorithm>using namespace std;//定义了一个模板函数,用istringstream 将s...原创 2019-02-10 22:52:39 · 638 阅读 · 0 评论 -
[c++]并发多线程概述
并发与多线程基于c++11标准想想轮子哥是怎么说的,反反复复把概念吃透,把知识留存在脑子里不仅要听懂,练习、变现很重要1.引言1.可以给软件开两个线程,分别去处理不同的数据,提高效率。2.开发多线程,是实力的体现,也是商用的需要。3.线程开发有难度,理解上更难,需要一定的学习时间,但这恰恰也是实力的体现之处。所以高效突破这个点,可以灵活应用到不同的开发环境和语言环境当中,实现技...原创 2019-03-25 00:16:45 · 225 阅读 · 0 评论 -
[c++]并发多线程:利用函数可调用对象 & 类对象 & 类成员函数来创建线程
1.利用函数可调用对象创建线程#include<thread>#include<vector>using namespace std;void print(){ //无参函数 cout<<"print"<<endl;}void print2(int i){ //有参函数 cout<<"print2"<< i...原创 2019-03-25 01:57:19 · 1374 阅读 · 1 评论 -
[c++] c语言并发编程——POSIX
先来看以下关于c语言的几个问题2.1 void*C语言中void * 为 “不确定类型指针”,void *可以用来声明指针。如:void * a;(1)void *可以接受任何类型的赋值: void *a = NULL; int * b = NULL; a = b;//a是void * 型指针,任何类型的指针都可以直接赋值给它,无需进行强制类型转换(2)vo...原创 2019-03-25 01:59:34 · 2241 阅读 · 0 评论 -
[c++]智能指针——boost::function
2.8 boost::functionboost::function是一个函数对象的“容器”,概念上像是C/C++中函数指针类型的泛化,是一种“智能函数指针”。它以对象的形式封装了原始的函数指针或函数对象,能够容纳任意符合函数签名的可调用对象。因此,它可以被用于回调机制,暂时保管函数或函数对象,在之后需要的时机在调用,使回调机制拥有更多的弹性。0.回调函数回调函数就是一个通过函数指针调用...原创 2019-03-25 02:01:42 · 551 阅读 · 0 评论 -
[c++] 学习笔记资料汇总(包含各种方法、特性)
学习笔记资料汇总(包含各种方法、特性)整理学习c++时积累的知识点1. 关于字符数组、指针、基本类型之间的转换char * 和char[]的区别以及怎样与string类型进行转换 https://www.cnblogs.com/skblog/p/5423129.html、C++中 string 与char* 和char[]区别及转化 https://blog.youkuaiyun.com/bes...原创 2019-07-31 11:46:17 · 639 阅读 · 0 评论