![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 55
XDWX
逆水行舟,不进则退。
展开
-
C++/C--istringstream、ostringstream、stringstream 类介绍【转载】
文章目录1 C++的输入输出分为三种:1.1 基于控制台的I/O1.2 基于文件的I/O1.3 基于字符串的I/O2 头文件3 功能4 具体分析4.1 istringstream类4.2 ostringstream类4.3 stringstream类1 C++的输入输出分为三种:1.1 基于控制台的I/O1.2 基于文件的I/O1.3 基于字符串的I/O2 头文件#include <sstream> 3 功能istringstream类用于执行C++风格的字符串流的转载 2020-06-28 09:24:15 · 637 阅读 · 0 评论 -
C++/C--lambda表达式与函数对象【转载】
文章目录1. 概念2 lambda表达式3 lambda新特性3.1 lambda捕捉表达式3.2 泛型lambda表达式3.3 函数对象4 函数适配器5 绑定器(binder)5 std::mem_fn()适配器6 References1. 概念lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读。但是从本质上来讲,lambda表达式只是一种语法糖,因为所有其能完成的工作都可以用其它稍微复杂的代码来实现。但是它简转载 2020-06-23 13:09:25 · 659 阅读 · 0 评论 -
C++/C--mmap()详解
文章目录1 概念2 条件、参数说明及返回说明2.1 条件2.2 参数说明2.3 返回说明3 特点4 系统调用5 范例6 结论7 其他1 概念mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。mmap在用户空间映射调用系统中作用很大。头文件:#include <sys/mman.h>函数原型:void* mmap(void* start,size_t length,int prot,int fla转载 2020-06-10 19:54:55 · 10402 阅读 · 0 评论 -
C++/C--二分查找之lower_bound( )和upper_bound( )【转载】
文章目录1 头文件及相关函数2 函数lower_bound()3 函数upper_bound()4 示例1 头文件及相关函数头文件: #include <algorithm>二分查找的函数有 3 个: 参考:C++ lower_bound 和upper_boundlower_bound(起始地址,结束地址,要查找的数值) 返回的是数值 第一个 出现的位置。upper_bound(起始地址,结束地址,要查找的数值) 返回的是数值 最后一个 出现的位置。binary_sea转载 2020-06-05 21:49:41 · 478 阅读 · 0 评论 -
C++/C--删除string末尾字符的方法【转载】
文章目录1 删除字符串最后一个字符的方法1 删除字符串最后一个字符的方法代码实现:#include<iostream>#include<string>using namespace std;int main() { string str; str = "123456"; cout << str << endl; //方法一:使用substr() str = str.substr(0, str.length() - 1); cout转载 2020-06-04 00:30:10 · 7021 阅读 · 0 评论 -
C++/C--多个vector拼接的方法【转载】
#include <iostream>#include <vector>#include <algorithm>#include <iterator> //包含了std::back_inserter的定义using namespace std;void printVector(const vector<int> &v){ for (int i = 0; i < v.size(); ++i){ cout <转载 2020-05-31 17:47:19 · 7206 阅读 · 0 评论 -
C++/C--string中的find()、find_first_of()、find_first_not_of()【转载】
文章目录1 find()函数2 find_fisrt_of()函数3 find_fisrt_not_of()函数1 find()函数功能:可以在指定字符串中查找完全匹配子串的位置;示例:// string::find#include <iostream> // std::cout#include <string> // std::stringint main (){ std::string str ("There are two ne转载 2020-05-31 15:15:34 · 771 阅读 · 0 评论 -
C++/C--C++中substr和Java的substring对比【转载】
文章目录1 substr函数2 substring函数1 substr函数功能:返回一个从指定位置开始的指定长度的子字符串。stringvar.substr(int start,int length)//stringvar 需要被提取的字符串//start 所需的子字符串的起始位置,字符串的初始索引为0//length 子字符串中应包括的字符个数//说明:如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到 stringvar 的最后。substr转载 2020-05-31 09:52:01 · 825 阅读 · 1 评论 -
C++/C--vector初始化与赋值【转载】
1. 一维情况(1)不带参数的构造函数初始化//初始化一个size为0的vectorvector<int> a;(2)带参数的构造函数初始化//初始化size,但每个元素值为默认值vector<int> a(10); //初始化了10个默认值为0的元素//初始化size,并且设置初始值vector<int> b(10,1); //初...转载 2020-04-25 23:43:26 · 3748 阅读 · 1 评论 -
C++/C--NULL与nullptr【转载】
1 C中的NULL在C语言中我们将NULL用作空指针之用,NULL在C语言中的定义如下:#define NULL ((void *)0)可以看到,C语言中NULL是一个void*指针,我们常用其来对指针变量进行初始化赋值或者作为返回类型为指针的函数的返回值(如函数执行失败时)等等。2 C++中的NULL在C++中,NULL的定义如下:/* Define NULL pointer...转载 2020-04-25 22:15:26 · 575 阅读 · 0 评论 -
C++/C--动态二维数组的内存分配与释放【转载】
C语言//二维数组动态数组分配和释放 //数组指针的内存分配和释放 //方法一 char (*a)[N];//指向数组的指针 a = (char (*)[N])malloc(sizeof(char [N]) * m); //n列m行 free(a); //方法二 char **a; int i; a = (char **)malloc(sizeof...转载 2020-04-25 17:32:43 · 2234 阅读 · 0 评论 -
C++/C--文件及函数注释【转载】
文件信息注释/*************************************************************** * @file 程序文件的名称 * @brief 程序文件的功能 * @author 作者 * @version 版本号 * @date 日期 **************************...转载 2020-04-17 12:41:25 · 1180 阅读 · 0 评论 -
C++/C--find用法详解【转载】
find()函数本质上是一个模板函数,用于在指定范围内查找和目标元素值相等的第一个元素。如下为 find()函数的语法格式:InputIterator find (InputIterator first, InputIterator last, const T& val);其中,first和last为输入迭代器,[first, last)用于指定该函数的查找范围;val为要查找的目标...转载 2020-04-16 17:16:51 · 5065 阅读 · 0 评论 -
C++/C--unordered_map常见用法详解
文章目录1. std::unordered_map 的定义与特性2. 构造 std::unordered_map3. 赋值操作4. 迭代器操作5. 容量操作6. 访问操作7. 插入操作8. 删除操作9. 查找操作1. std::unordered_map 的定义与特性所在头文件:<unordered_map>std::unorederd_map类模板:templat...转载 2020-04-14 11:43:34 · 9682 阅读 · 0 评论 -
C++/C--set常见用法详解【转载】
简单代码示例:#include<set> #include<iostream> using namespace std;int main(){ set<int>s; int n; cin>>n; for(int i=1;i<=n;i++) { int x; ...转载 2020-04-13 17:28:40 · 2743 阅读 · 1 评论 -
C++/C--STL API查询及免费教程网站
Reference - C++ Reference 更新略慢,C++17的部分特性查不到。cppreference.com更新及时,推荐。原创 2020-04-09 11:00:30 · 2702 阅读 · 0 评论 -
C++/C--相对路径与绝对路径【转载】
电脑硬盘E盘下,建文件夹“test”,"test"下建立子文件夹“file”,"file"下建子文件夹“data”;电脑资源管理器显示目录 E:\test\file\data;当前 路径 E:\test\file;相对路径 ,用正斜杠‘/’1.1 向上一级目录指向 ./ /* 表示当前路径,相当于E:\test\file */ ../ /* 表示当前路径的上一级路径,...转载 2020-03-31 13:08:33 · 514 阅读 · 0 评论 -
一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别【转载】
首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别以下是上述协议的简单介绍:BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协...转载 2020-03-31 10:46:37 · 205 阅读 · 0 评论 -
C语言获取系统当前时间的两种方式
以下博文转载自:https://www.cnblogs.com/starf/p/3668586.htmlhttps://www.cnblogs.com/long5683/p/9999746.html方式一#include <stdio.h>#include <time.h> void main (){time_t rawtime;struct tm *...转载 2020-03-13 15:00:39 · 1072 阅读 · 0 评论 -
setw()(转载)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZWZ530/article/details/74062931 ...转载 2018-09-13 21:45:57 · 1270 阅读 · 0 评论 -
C++ 标准文件的写入读出(ifstream,ofstream)
版权声明:欢迎转载!如有纰漏之处,欢迎批评指正! https://blog.csdn.net/a125930123/article/details/53542261 头文件 < fstream> c++中有一个stream,所有的I/O都是以这个...转载 2018-09-18 10:13:30 · 539 阅读 · 0 评论 -
C++中4种方式把字符串和数字连接起来(转载)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/PROGRAM_anywhere/article/details/63720261 以前老用Java里面的String类,用过的...转载 2018-08-30 11:03:52 · 1608 阅读 · 0 评论 -
较好的个人网址(关于编程)
较好的编程学习网址: http://cuijiahua.com/blog/learing-algorithm/basis/主要包含以下几个方面的知识:1.机器学习2.深度学习3.网络爬虫4.网站建设5.小把戏录6.算法学习...原创 2018-08-30 22:35:40 · 215 阅读 · 0 评论 -
浅拷贝与深拷贝的区别
C++中类的拷贝有两种:深拷贝,浅拷贝:当出现类的等号赋值时,即会调用拷贝函数一:两个的区别1 在未定义显示拷贝构造函数的情况下,系统会调用默认的拷贝函数——即浅拷贝,它能够完成成员的一一复制。当数据成员中没有指针时,浅拷贝是可行的;但当数据成员中有指针时,如果采用简单的浅拷贝,则两类中的两个指针...转载 2018-08-11 15:13:42 · 152 阅读 · 0 评论 -
深拷贝与浅拷贝的区别
深浅拷贝的区别: 浅拷贝是将原始对象中的数据型字段拷贝到新对象中去,将引用型字段的“引用”复制到新对象中去,不把“引用的对象”复制进去,所以原始对象和新对象引用同一对象,新对象中的引用型字段发生变化会导致原始对象中的对应字段也发生变化。 深拷贝是在引...转载 2018-08-11 14:57:03 · 316 阅读 · 0 评论 -
GDB调试时,出现value optimized out的解决办法小结
原因在于在对代码进行编译的时候默认开启了-O2选项,解决方法;1.单个C/C++文件进行编译时,可直接将-o更改为-O0,即编译时不进行优化;2.工程文件MakeFile中,可添加如下标签:# C optimization flagsCOPT =-O0 -funroll-loops3.利用Cmake进行编译时,在cmakelist中修改如下:# Add -O0 to rem...原创 2018-07-22 10:13:50 · 20161 阅读 · 0 评论 -
GDB调试乱序,出现value optimized out解决方法
gdb调试乱序,value optimized out解决方法在cmakelist中修改如下:# Add -O0 to remove optimizations when using gccIF(CMAKE_COMPILER_IS_GNUCC) set(CMAKE_CXX_FLAGS_DEBUG "${C...转载 2018-07-20 11:08:17 · 1348 阅读 · 2 评论 -
NDK编译c包含C++头文件时,出现 error: unknown type name 'class' 的解决方法
在进行native开发的时候,难免会遇到C文件包含C++头文件而调用C++函数,若没做什么处理,直接include进行编译的话,会遇到以下错误:error: unknown type name ‘class’error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__att...转载 2018-07-17 22:23:28 · 6041 阅读 · 0 评论 -
Ubuntu下动态库与静态库混合连接
一、在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库。使用方式为:gcc test.cpp -L. -ltestlib如果当前目录有两个库libtestlib.so libtestlib.a 则肯定是连接libtestlib.so。如果要指定为连接静态库则使用:gcc test.cpp -L. -static -lt...转载 2018-07-04 21:34:25 · 1040 阅读 · 0 评论 -
编译预处理命令
定义:在C语言程序中,以"#"开头的命令行都被称为编译预处理命令.编译成obj文件前,这些命令需要预先被执行.预处理命令含义#define宏定义#include文件包含#undef撤消定义过的宏#if条件编译,如果给定的条件为真,则编译下面的代码#else与#if配合,如果#if不成立,则编译#else后面的代码#elif与elseif的命令意义相同#endif条件编译结束#ifdef条件编译的另...原创 2018-06-11 22:18:30 · 4252 阅读 · 0 评论 -
MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainC
一,问题描述MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用Debug\jk.exe : fatal error LNK1120: 1 个无法解析的外部命令error LNK2001: ...转载 2018-10-07 10:01:26 · 390 阅读 · 0 评论 -
包含目录、库目录、附加包含目录、附加库目录、附加依赖项如何使用? 及静态库,动态库的创建与调用和vs里引用的使用
引言:vs中怎么添加外部头文件?如过直接在项目头文件处,添加一下,如下图:否则,依然会报错,如下图:有两种方法,来解决(你不在vs上的添加它也没事):(1) 直接把外部头文件复制过来,放在此项目下即与该项目cpp文件同一目录,如下图:(2)项目右键,属性里的C/C++ - > 常规,附加包含目录里添加头文件的所在目录路径或者放在,项目右键,属性里的VC++目录&nb...转载 2019-01-29 14:40:03 · 747 阅读 · 0 评论 -
C++/C--内存的四驱模型
转载自:https://blog.csdn.net/wu5215080/article/details/38899259博主:思心;来源:CSDN;内存四区模型图1、内存四区模型流程说明1、操作系统把物理硬盘代码load到内存2、操作系统把c代码分成四个区3、操作系统找到main函数入口执行1、内存四区:一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(sta...转载 2019-07-28 00:55:18 · 511 阅读 · 0 评论 -
Ubuntu下Python与C/C++混合编程
转载自:博主:飞越彩虹;来源:博客园;C++调用PythonPython模块代码:#!/usr/bin/python#Filename:TestModule.pydef Hello(s): print "Hello World" print sdef Add(a, b): print 'a=', a print 'b=', b retu...转载 2019-07-22 16:56:31 · 1128 阅读 · 0 评论 -
C/C++中的关键字
转载自:https://blog.csdn.net/scmuzi18/article/details/53696778博主:_s西瓜;来源:CSDN;C/C++中的关键字如下:asmdoifreturntryautodoubleinlineshorttypedefbooldynamic_castintsignedtypeid...转载 2019-07-16 08:03:33 · 975 阅读 · 0 评论 -
C++用new和不用new创建类对象区别
转载自:https://www.cnblogs.com/kissfu/p/3301436.html博主:亲福来源:博客园new创建类对象,使用完后需使用delete删除,跟申请内存类似。所以,new有时候又不太适合,比如在频繁调用场合,使用局部new类对象就不是个好选择,使用全局类对象或一个经过初始化的全局类指针似乎更加高效。一、new创建类对象与不new区别下面是自己总结的一些关于n...转载 2019-07-15 17:10:46 · 3694 阅读 · 1 评论 -
嵌套结构体初始化的几种方式
转载自:https://www.cnblogs.com/skullboyer/p/8945818.html博主:壹点灵异来源:博客园#结构体定义structA definetypedef struct { char a; int b; float c;}struct_A_s;structB definetypedef struct{ char a; int b;...转载 2019-07-10 23:55:24 · 8507 阅读 · 3 评论 -
一文搞懂C语言回调函数
转载自:https://segmentfault.com/a/1190000008293902?utm_source=tag-newest博主:Rdou Typing来源:segmentfault什么是回调函数我们先来看看百度百科是如何定义回调函数的:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我...转载 2019-07-09 00:40:58 · 17738 阅读 · 9 评论 -
C++/C--Linux下实现对键盘事件的监听
#include <termio.h>#include <stdio.h> int scanKeyboard(){int in;struct termios new_settings;struct termios stored_settings;tcgetattr(0,&stored_settings);new_settings = stored_s...转载 2019-04-18 22:55:50 · 5895 阅读 · 1 评论 -
C++/C--Windows下获取键盘事件
在Visual Studio 2013中可以使用_kbhit()函数来获取键盘事件,使用时需要加入conio.h头文件,例:#include <conio.h>#include <iostream>using namespace std;int main(){ int ch; while (1){ if (_kbhit()){//如果有按键按下,则_kbh...转载 2019-04-18 22:48:30 · 6690 阅读 · 1 评论