c++/c 基础
文章平均质量分 59
c++/c 基础
stone_fall
程序员+宅男
展开
-
C++ 11 多线程基础 与 简单线程池实现
文章目录借鉴(抄袭)C++11线程线程库threadthread类成员函数:示例互斥信号量mutexlock类lock_guardunique_lock条件变量condition_variable线程池我厚颜无耻汇总一下(抄袭)别人的博客,方便自己翻阅借鉴(抄袭) - C++ ReferenceC++ thread用法总结(整理)_sevenjoin的博客-CSDN博客_c++ threadhttps://blog.csdn.net/sevenjoin/article/details/821871原创 2021-09-22 00:53:08 · 457 阅读 · 0 评论 -
华为笔试2021.9.11
文章目录求神经网络的最短执行时间内存管理2个数组里相同公差的最长等差数列牛客帖子汇总的求神经网络的最短执行时间给出N个节点,每个节点的信息包含该节点执行时间、下一个节点列表。有向无环图求一个拓扑排序#include <bits/stdc++.h>using namespace std;//邻接表建图vector<vector<int>> g;//构建costvector<int> cost;vector<int> cnt; /原创 2021-09-18 12:33:38 · 903 阅读 · 0 评论 -
C++| extern外部变量的使用 | 与全局静态变量的区别 | C++ Windows多文件编译运行 | 多个源文件共用一个全局变量
文章目录区别外部变量extern使用全局静态变量static使用网上检索关于extern相关内容时,自己尝试过程中,发现有一些区别,不知道是不是版本问题,特此记录区别全局变量是不显式用 static 修饰的全局变量,全局变量默认是有外部链接性的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过 extern 全局变量名的声明,就可以使用全局变量。全局静态变量是显式用 static 修饰的全局变量,作用域是声明此变量所在的文件,其他的文件即使用 extern 声明也不能使用。外原创 2021-09-05 12:46:11 · 561 阅读 · 0 评论 -
Socket | C语言 | Linux | 网络编程 | 实战(三)
实例Client/*client端*/#include<stdio.h> #include<stdlib.h> #include<netinet/in.h> #include<sys/socket.h> #include<arpa/inet.h> #include<string.h>#include <stdbool.h>#include <fcntl.h>#include &原创 2021-01-21 23:02:29 · 211 阅读 · 0 评论 -
Socket | C语言 | Linux | 网络编程 | 实战(二)
实例编译过程中会遇到动态链接pthread的错误。如果是make编译,需要添加--pthread用automake编译,需要在configure.ac中添加如下# pthreadAC_CHECK_LIB([pthread], [pthread_create], [], [AC_MSG_ERROR([pthread is missing])])PTHREAD_CFLAGS=-pthreadAC_SUBST(PTHREAD_CFLAGS)Client/*代码里面有部分我对驱动程序的相关控制*原创 2021-01-21 22:56:27 · 157 阅读 · 0 评论 -
Socket | C语言 | Linux | 网络编程 | 实战(一)
实例Client#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <string.h>#include <unistd.h>#include <errno.h>#include <arpa/inet.h>#define MAX_READ_LINE 1024int main(void) { char *原创 2021-01-21 22:50:53 · 344 阅读 · 0 评论 -
C++ | Lambda表达式 | 语法分析
文章目录1 参考2 什么是Lambda?3 Lambda语法分析3.1 函数对象参数 [capture list]3.2 操作符重载函数参数 (parameter list)3.3 mutable 或 exception 声明3.4 `->` 返回值类型3.5 函数体 `{function body}`1 参考Lambda Expressions in C++ | Microsoft DocsC++之Lambda表达式 - 季末的天堂 - 博客园 Lambda表达式_百度百科 2 什么原创 2020-11-30 14:25:21 · 320 阅读 · 0 评论 -
C/C++ | int main(int argc,char* argv[])详解 | argc/*argv[] |
文章目录转载int main(int argc,char* argv[])实例转载main(int argc, char *argv[])_pix_csdn的博客-CSDN博客int main(int argc,char* argv[])int main(int argc,char* argv[])是UNIX和Linux中的标准主函数.argc:用来统计运行时发送给main函数的命令行参数的个数;argv[ ]:其中每个元素都是上述参数(以字符串形式存储)的首地址;其中:argv[0]指向转载 2020-10-12 15:42:54 · 493 阅读 · 0 评论 -
C 语言 | 指针 | ptr==((void*)(-1)) | ptr==NULL
在看分布式文件系统代码时,有如下内容:#define passert(ptr) if (ptr==NULL) { \ fprintf(stderr,"%s:%u - out of memory: %s is NULL\n",__FILE__,(unsigned)__LINE__,#ptr); \ syslog(LOG_ERR,"%s:%u - out of memory: %s is NULL",__FILE__,(unsigned)__LINE__,#ptr); \ abort(); \原创 2020-06-23 08:58:33 · 464 阅读 · 1 评论 -
C语言 | 预处理 | 宏定义 | #define | 定义函数
文章目录预处理预处理运算符宏定义无参宏定义带参宏定义宏定义-定义函数此文主要介绍宏定义,并在介绍宏定义时举例介绍预处理命令预处理参考:C 预处理器 | 菜鸟教程 重要的预处理器指令如下:指令描述#define定义宏#include包含一个源代码文件#undef取消已定义的宏#ifdef如果宏已经定义,则返回真#ifndef如果宏没有定义,则返回真#if如果给定条件为真,则编译下面代码#else#if 的替代方案#elif原创 2020-06-21 16:31:15 · 2050 阅读 · 0 评论 -
C语言 | * 与 &
文章目录取址运算符`&`间接运算符 `*`例子取址运算符&取址运算符&用来取得其操作数的地址。如果操作数 x 的类型为 T,则表达式 &x 的类型是 T 类型指针(指向 T 的指针)。取址运算符的操作数必须是在内存中可寻址到的地址。该运算符只能用于函数或对象间接运算符 *当已具有一个指针,并且希望获取它所引用的对象时,使用间接运算符 *(indirection operator),有时候这会被称为解引用运算符(dereferencing operator)。原创 2020-06-20 10:19:21 · 788 阅读 · 0 评论 -
C/C++ | 求数组长度 | 求字符型数组长度 | 求string类型长度 | 字符串数组长度
C/C++ | 求数组长度 | 求字符串数组长度 | 求string类型长度;数组长度 int arr[] = {1,2,3,4,5,6,7,8,9}; int length = 0; length = sizeof(arr) / sizeof(int); int arr[10]={0,0}; //这样的无法通过上述方法获得字符串数组长度 char c[10] = "asd"; cout<<strlen(c)<<endl; c...原创 2019-03-27 10:58:21 · 3340 阅读 · 1 评论 -
C/C++ | STL | set
C++ Sets; 函数介绍; begin; clear; count; empty; end; equal_range;;erase;;find;;get_allocator;insert; lower_bound; key_comp;max_size;rbegin原创 2019-03-26 16:40:33 · 1012 阅读 · 0 评论 -
C语言:gets()前为什么需要一个getchar() scanf与gets之间为什么需要一个getchar
经常在别人写的oj代码里看到类似如下的代码行: scanf("%d",&N); getchar(); gets(buf);即gets()前会有一个getchar(),不禁疑问,为什么需要一个getchar()处理前面输入号码后的回车符的问题。因为scanf不接收空白符,缓冲区里还会留下上一次输入最后的换行符\n,所以需要用getc...原创 2019-03-08 21:53:07 · 3879 阅读 · 1 评论 -
C | struct结构体 | 结构体数组 | typedef struct | 结构体初始化 | 结构体构造函数 | 结构体嵌套
本人小白,有错误之处恳请指出,感激不尽目录结构体结构体一般形式:定义一个结构体:结构体初试化的一般方法:结构体数组:结构体数组初始化与赋值结构体构造函数第一种构造函数形式第二种构造函数形式结构体结构体一般形式:struct 结构名{ //成员列表 };//分号必不可少定义一个结构体:struct stu{ int num; string name1; char name2[20]; float core;}s1;//s1是一个变原创 2019-03-10 10:44:05 · 3387 阅读 · 1 评论 -
C/C++ | 各类型精度 |(int,char,float,double,long long int等)
速查表:char -128 ~ +127 (1 Byte) short -32767 ~ + 32768 (2 Bytes) 3*10^4unsigned short 0 ~ 65536 (2 Bytes) 6*10^4int -2147483648 ~ +2...转载 2019-03-14 22:25:00 · 5853 阅读 · 0 评论 -
C/C++ | '.'与"->"的使用以及区别 | 对象和结构体成员访问
c++中 . 和 -> 主要是用法上的不同。1、A.B则A为对象或者结构体;2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;例如:class student{public: string name[20];}student s1;student *s2;s1.n...原创 2019-03-15 09:42:00 · 422 阅读 · 0 评论 -
C/C++ | 全排列 | next_permutation | prev_permutation | 常规全排列
全排列next_permutation这里一般先用快排sort对原有数组进行排序// next_permutation example#include <iostream> // std::cout#include <algorithm> // std::next_permutation, std::sort, std::reverseus...原创 2019-03-19 19:41:46 · 331 阅读 · 0 评论 -
C | C++ | STL map的基本函数和用法 | 注:绝对简洁不是长篇大论
目录Map;主要特点;插入元素;insert() 插入元素;数组方式插入;遍历;begin() / end() 返回指向map头部/尾部的迭代器;rbegin() / rend() 返回一个指向map尾部/头部的逆向迭代器;size() 返回map中元素的个数;判断元素是否存在;count() 返回指定元素出现的次数;find() 查找一个元素;lower_bound() / upper_bound() 返回键值>=/>给定元素的第一个位置;equal原创 2019-03-20 11:14:35 · 1806 阅读 · 0 评论 -
C/C++ | 字符型数组char*的分割和string的分割 | strtok()函数 | find()和substr()函数
目录函数介绍strtokchar*类型分割输出查找(find)substrstring类型分割输出结果:函数介绍strtok语法: #include <string.h>char *strtok( char *str1, const char *str2 ); 功能:函数返回字符串str1中紧接“标记”的部分的指针,...原创 2019-03-18 16:34:26 · 18754 阅读 · 3 评论 -
C/C++ | STL vector
一、什么是vector?;二、容器特性;1.顺序序列;2.动态数组;3.能够感知内存分配器的(Allocator-aware);三、基本函数实现;2.增加函数;3.删除函数;4.遍历函数;5.判断函数;6.大小函数;7.其他函数;8.看着清楚;四、基本用法;五、简单介绍;实例1.pop_back()&push_back(elem)实例在容器最后移除和插入数据实例2.clear()清除容器中所有数据实例3.排序实例4.访转载 2019-03-23 11:04:24 · 561 阅读 · 0 评论 -
C/C++ | STL | 大顶堆 | 小顶堆 | std::priority_queue
# 优先队列 priority_queue;## 大顶堆:## 小顶堆; 1. empty() 如果优先队列为空,则返回真; 2. pop() 删除第一个元素;3. push() 加入一个元素;4. size() 返回优先队列中拥有的元素的个数;5. top() 返回优先队列中有最高优先级的元素;原创 2019-04-04 09:04:29 · 8827 阅读 · 0 评论 -
an instance of 'std::out_of_range'报错处理
terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr: __pos (which is 9) > this->size() (which is 4...报错提醒完整提示为:terminate called after throwing an instance of 'std::out_of_range' what():原创 2019-02-25 16:12:55 · 22219 阅读 · 0 评论