
C++
fantongl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
make: warning: Clock skew detected. You build may be incomplete
make: warning: Clock skew detected. You build may be incomplete解决方案:使用date命令可以看到当前系统时间和实际时间有差距,故报的这个错,那么需要更改为最新的时间datedate -s 12/16/2021原创 2021-12-16 20:47:18 · 251 阅读 · 0 评论 -
C++_regex错误_terminate called after throwing an instance of ‘std::regex_error‘
报错在使用C++中的regex(正则表达式)时,发现编译能过,但是在运行到这块代码的时候,报下列错误,。terminate called after throwing an instance of 'std::regex_error' what(): regex_errorAborted解决方案:1. 确定gcc版本gcc版本在4.9+才支持正则表达式。2. 确定添加了头文件#include <regex>测试代码#include <iostream>原创 2021-11-05 18:02:44 · 3953 阅读 · 0 评论 -
计算十进制数转换为二进制时“1”的个数
计算十进制数转换为二进制时“1”的个数int count(int num){ int res = 0; while(num != 0) { num = num & (num - 1); res++; } return res;}原创 2021-06-21 10:01:04 · 157 阅读 · 0 评论 -
typedef struct 和 struct的区别
typedef struct Student{ int data; struct Student*next;}Student_info;上面的Student是标识符,Student_info是变量类型,相当于是int char等变量类型。上面的定义相当于struct Student{ int data; struct Student *...原创 2019-06-20 12:00:53 · 501 阅读 · 0 评论 -
atof函数的实现
atof函数是将字符串转换为浮点型数double my_atof(const char* str){ double d = 10.0; double s = 0.0; bool flag = false; while (*str > '9' || *str < '.') { str++; } if (*str == '-') { flag = true...原创 2019-04-29 10:40:36 · 3325 阅读 · 0 评论 -
mingw在Windows下的安装
mingw在Windows下的安装1. 下载资源2. 解压3. 添加环境变量4. 验证1. 下载资源百度网盘链接: https://pan.baidu.com/s/1f-RdG6CICqS-O9kLhlmNIA提取码: nvjd官网2. 解压3. 添加环境变量4. 验证在命令行窗口下执行g++ -v输出如下信息即表示安装成功...原创 2021-06-21 10:43:31 · 386 阅读 · 0 评论 -
C++中的函数签名
C++中的函数签名(function signature):包含了一个函数的信息,包括函数名、参数类型、参数个数、顺序以及它所在的类和命名空间。普通函数签名并不包含函数返回值部分,如果两个函数仅仅只有函数返回值不同,那么系统是无法区分这两个函数的,此时编译器会提示语法错误。函数签名用于识别不同的函数,函数的名字只是函数签名的一部分。在编译器及链接器处理符号时,使用某种名称修饰的方法,使得每个函数签名对应一个修饰后名称(decorated name)。编译器在将C++源代码编译成目标文件时,会将函数和变量的名转载 2021-06-17 18:26:41 · 2182 阅读 · 0 评论 -
c++实现_文件修改匹配行
文件修改匹配行void ModifyLineData(char* fileName, int lineNum, char* lineData){ ifstream in; in.open(fileName); string strFileData = ""; int line = 1; char tmpLineData[1024] = {0}; while(in.getline(tmpLineData, sizeof(tmpLineData))) { if (lin原创 2021-05-27 09:59:56 · 130 阅读 · 0 评论 -
STL_list学习笔记
1. list的原理2. list中节点(node)3. 例子3.1 相关操作3.2 输出打印1. list的原理list的底层数据结构是双向链表(环状双向链表),每插入(或删除)一个元素就需要重新申请(或释放)空间。其迭代器必须具有前移、后移的作用list有一个重要的性质,插入操作(insert)和接合操作(splice)都不会造成原有的list迭代器失效2. list中节点(node)template<class T>struct _list_node{...原创 2021-05-19 13:58:13 · 188 阅读 · 0 评论 -
STL_vector学习笔记
1. vector的底层原理2. vector源码3. vector的基本操作3.1. 内存管理例子3.2. 输出结果4. vector扩容问题5. 收集vector相关问题5.1. 问:Vector底层数据结构5.2. 问:vector扩容原理概述5.3. 问:主流STL实现的vector初始大小是多少1. vector的底层原理vector底层使用的是一个自动管理的动态数组,线性连续空间;vecotr的实现技术,关键在于其对大小的控制以及重新配置时数据移动效...原创 2021-05-19 13:55:12 · 321 阅读 · 1 评论 -
STL_nth_element排序算法
1.介绍STL库中的nth_element()方法,默认是求区间第k小的(划重点)2. 函数原型void nth_element (RandomAccessIterator first, RandomAccessIterator nth,RandomAccessIterator last);第一个参数:第一个迭代器第二个参数:要定位的第k个元素,能对它进行随机访问.第三个参数:最后一个迭代器3. 示例#include <iostream>#include <algori原创 2021-05-19 11:45:54 · 426 阅读 · 0 评论 -
C++_try_catch使用
try_catch原创 2021-05-11 16:14:15 · 6902 阅读 · 0 评论 -
vector元素求和_accumulate
vector元素求和_accumulate0. 参考链接1. 函数声明2. accumulate的底层实现3. 实例3.1 代码3.2 输出0. 参考链接参考链接1. 函数声明// 默认为累加和template <class InputIterator, class T> T accumulate (InputIterator first, InputIterator last, T init);// 自定义op,更改accumulate的操作template <cl原创 2021-05-08 12:01:00 · 1361 阅读 · 0 评论 -
C++_stringstream的简单使用
stringstream tmp_path; tmp_path << Application_Conf_path_name_tmp << this->app_name << "/"; string tmp = tmp_path.str();原创 2021-04-26 16:27:53 · 117 阅读 · 0 评论 -
[LinuxC]_02_递归拷贝文件夹
目前此代码有指针未释放,待完善,慎用原网址链接#include <stdio.h>#include <stdlib.h>#include <string.h>#include <dirent.h>#include <sys/stat.h>#include "app_file.h"int is_dir(char* path){//判断是否是目录 struct stat st; stat(path,&st); if(S原创 2021-04-26 16:25:30 · 556 阅读 · 0 评论 -
[LinuxC]_01_递归删除目录
/** * @brief: 递归删除目录(删除该目录以及该目录包含的文件和目录) * @return {*} * @note: * @param {const char} *dir 要删除的目录绝对路径 */int remove_dir(const string &dir) const{ char cur_dir[] = "."; char up_dir[] = ".."; char dir_name[128]; DIR *dirp; struct dirent *dp;原创 2021-04-26 16:20:53 · 563 阅读 · 0 评论 -
[LinuxC]_00_获取当前系统时间
#include <sys/time.h>#include <time.h>/** * @brief: 打印当前时间 * @return {*} * @note: */string Application::GetCurentTime(){ char mark_time[128] = {0}; time_t tp; struct tm tm; time(&tp); localtime_r(&tp, &tm);原创 2021-04-26 16:18:42 · 115 阅读 · 0 评论 -
LeetCode_19_删除单链表倒数第N个结点
LeetCode1. 递归做法class Solution {public: int cur = 0; ListNode* removeNthFromEnd(ListNode* head, int n) { if(head == NULL) return NULL; head->next = removeNthFromEnd(head->next,n); cur++; if(n == c原创 2021-04-25 23:31:49 · 101 阅读 · 0 评论 -
C++_Pair
C++_Pair1. 应用2. 示例1. 应用pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair。(1)STL中的map就是将key和value放在一起来保存。(2)另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair2. 示例#include <utility> // std::pair, std::make_pair#include <string> // std::string#include <i原创 2021-03-29 10:33:02 · 150 阅读 · 0 评论 -
C++_priority_queue
C++_priority_queue1.函数模版1.函数模版参考链接常用的模版priority_queue<Type, Container, Functional>priority_queue<节点类型,装节点的容器, 节点之间的排列规则函数>Type : 数据类型Container : 保存数据的容器,缺省值为vectorFunctional: 为元素比较方式,缺省值为:operation<,即根堆举例:bool comp(constint&a原创 2021-03-29 10:24:25 · 141 阅读 · 0 评论 -
C++_vector 初始化二维数组
刷题中遇到需要初始化一个vector二维数组,使用两个for已经不适用了,,特此记录vector构造函数创建二维数组//初始化一个m行n列的元素值全为0的二维数组vector<vector<int>> matrix (n, vector<int>(n,0));嵌套使用vector构造函数即可。原型vector<int> (元素个数,元素初始值)...原创 2021-03-16 11:17:01 · 1403 阅读 · 0 评论 -
C++_algorithm_sort()
1. sort()函数声明参考文档default (1) template <class RandomAccessIterator> void sort (RandomAccessIterator first, RandomAccessIterator last); custom (2) template <class RandomAccessIterator, class Compare> void sort (RandomAccessIterator fir翻译 2021-03-04 14:14:30 · 372 阅读 · 1 评论