![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 61
frostjsy
越努力,越幸运
展开
-
c++常见函数处理
clamp:区间限定函数。原创 2023-12-10 19:45:11 · 801 阅读 · 0 评论 -
c++结构体使用
结构体struct和类一样在定义时不会被实例化。例如声明一个学生struct类型int id;struct变量定义与其他并无差别。原创 2023-03-04 22:46:03 · 824 阅读 · 0 评论 -
c++之std::stable_sort验证
结论:stable_sort为稳定排序,在重新排序时,当另一个字段排序时,如果两者相等,则原来的顺序不会改变,故stable_sort为稳定排序。当存在多个字段需要排序时,使用stable_sort会不会导致之前有序的数发生逆序,构建2个字段的结构体对stable_sort进行验证。原创 2022-12-29 20:59:50 · 109 阅读 · 0 评论 -
c++多字段排序
最近遇到需要多字段排序的问题;现有10个长方形,先按照abs(y-x)排降序排,再按照y升序排,再按照序号i升序排。原创 2022-12-29 21:08:03 · 71 阅读 · 0 评论 -
c++ 常见操作
1、void split(const std::string &delimiters, const std::string &source, std::vector<std::string> &result) { size_t prev_pos = 0, pos = 0; result.resize(0); pos = source.find_first_of(delimiters, po原创 2022-05-04 22:01:54 · 761 阅读 · 0 评论 -
c++之vector常见操作
#include<vector>#include<string.h>#include<iostream>#include<time.h>#include<stdlib.h>using namespace std;int main(){ int size_v=10; //创建一个向量存储容器 int vector<int> a; srand((unsigned)time(N...原创 2021-08-08 21:21:36 · 306 阅读 · 0 评论 -
c++常见map操作
#include<iostream>#include<map>#include<string>using namespace std;int main(){// 构造函数map<string, int> dict;// 插入数据的三种方式dict.insert(pair<string,int>("apple",2));dict.insert(map<string, int>::value_type("orange",原创 2021-06-14 23:04:33 · 310 阅读 · 3 评论 -
c++之常见字符串处理
1、atol#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ long val; char str[20]; // strcpy(str, "98993489"); strcpy(str,"3293180212"); val = atol(str); printf("字符串值 = %s, 长整型值 = %ld\n", str,原创 2021-06-14 22:44:46 · 499 阅读 · 0 评论 -
c++常见输出格式
%d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表...转载 2021-06-14 22:31:31 · 5896 阅读 · 1 评论 -
c++调试之gdb
1、启动gdb进入程序2、设置断点3、dan原创 2021-06-14 14:12:05 · 2167 阅读 · 0 评论 -
cmake完整复杂例子(八)
1、项目1.1、新建项目1.2、main.cmain.c主要实现通过 curl 取回http://www.csdn.net/ 的首页并写入curl-test 文件中,实现如下:#include "curl.h"#include <stdio.h>#include <stdlib.h>#include <unistd.h>FILE *fp;int write_data(void *ptr, size_t size, size_t nmemb,原创 2021-02-08 21:37:08 · 440 阅读 · 0 评论 -
cmake常用指令(七)
1、回顾在前面的章节我们已经讨论了很多指令的用法,如 PROJECT,ADD_EXECUTABLE,INSTALL,ADD_SUBDIRECTORY,SUBDIRS,INCLUDE _DIRECTORIES,LINK_DIRECTORIES,TARGET_LINK_LIBRARIES,SET 等。2、ADD_TEST 与 ENABLE_TESTING 指令ENABLE_TESTING 指令用来控制 Makefile 是否构建 test 目标,涉及工程所有目录。语 法很简单,没有任何参数,ENAB原创 2021-02-08 21:36:23 · 589 阅读 · 0 评论 -
cmake常用常量和变量(六)
1、cmake 变量引用的方式前面我们已经提到了,使用${}进行变量的引用。在 IF 等语句中,是直接使用变量名而不 通过${}取值2、cmake定义变量的方式cmake主要有隐式定义和显式定义两种2.1、隐式定义前面举了一个隐式定义的例子,就是 PROJECT 指令,他会隐式的定义<projectname>_BINARY_DIR 和<projectname>_SOURCE_DIR 两个变 量。2.2、显示定义使用 SET 指令,就可以构建一个自定义变量了原创 2021-02-08 21:35:46 · 1706 阅读 · 0 评论 -
CMakeLists之引入头文件(五)
1、导入自建头文件项目新建项目t4,目录结构如下:该程序引入了自建的hello.h程序库包含了函数func();main.c的内容如下所示://main.c#include <hello.h>int main(){ func(); return 0 ;}2、引入头文件搜索路径hello.h 位于/root/cpp_test/backup/cmake_test/t4/include/hello目录中,并没有位于系统标准的头文件路径,为了让我们.原创 2021-02-08 21:34:04 · 14617 阅读 · 1 评论 -
CMakeLists静态库与动态库构建(四)
1、任务描述1,建立一个静态库和动态库,提供 func 函数供其他程序编程使用,func 向终端输出Hello World字符串。2,安装头文件与共享库。2、ADD_LIBRARY指令ADD_LIBRARY(libname [SHARED|STATIC|MODULE] [EXCLUDE_FROM_ALL] source1 source2 ... sourceN)你不需要写全 libhello.so,只需要填写 hello 即可,原创 2021-02-08 21:33:02 · 906 阅读 · 0 评论 -
CMakeLists之make install(三)
1、安装命令详解1.1、CMAKE_INSTALL_PREFIX命令CMAKE_INSTALL_PREFIX变量类似于configure脚本的 –prefix,常见的使用方法看起来是这个样子:cmake -DCMAKE_INSTALL_PREFIX=/usr .1.2、INSTALL命令1.2.1、INSTALL命令基础INSTALL 指令用于定义安装规则,安装的内容可以包括目标二进制、动态库、静态库以及 文件、目录、脚本等。INSTALL 指令包含了各种安装类型,我们需要原创 2021-02-08 21:32:01 · 2301 阅读 · 0 评论 -
CMakeLists外部构建(二)
1、内部构建缺点CMakeLists相关语法说明(一)给出了内部构建的简单实例。但内部编生成了一些无法自动删除的中间文件,所以, 引出了我们对外部编译的探讨,外部编译的过程如下:1,首先,请清除t1目录中除main.c CmakeLists.txt之外的所有中间文件,最关键 的是 CMakeCache.txt。2,在t1目录中建立build 目录,当然你也可以在任何地方建立build目录,不一定必 须在工程目录中。3,进入build目录,运行cmake ..(注意,..代表父目录,因为父目录原创 2021-02-08 21:28:56 · 627 阅读 · 0 评论 -
CMakeLists相关语法说明(一)
1、cmake使用实例1.1、构建目录t12.2、编写main.c,CmakeLists.txt文件//main.c#include <stdio.h> int main(){ printf(“Hello World from t1 Main!\n”); return 0;}#CMakeLists.txtPROJECT (HELLO)SET(SRC_LIST main.c)MESSAGE(STATUS "This is BINARY dir "原创 2021-02-08 21:26:47 · 756 阅读 · 0 评论 -
git加载c++第三方包
git submodule initgit submodule update原创 2020-12-31 22:51:34 · 179 阅读 · 0 评论 -
clion安装
安装步骤,亲测有效(cCLion版本为2019.3.3)0. 先下载压缩包解压后得到jetbrains-agent.jar。 下载页面:https://zhile.io/2018/08/17/jetbrains-license-server-crack.html1. 启动你的IDE,如果上来就需要注册,选择:试用(Evaluate for free)进入IDE。2. 将 jetbrains-agent.jar 拖进IDE窗口,点 "Restart" 按钮重启IDE。3. 在弹出的J...原创 2020-12-31 22:49:08 · 744 阅读 · 1 评论