随笔分类 -  C++

字符串和整数之间的转换
摘要:一、使用stringstream 类c++中的 <sstream>库定义了三种类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。 二、c++中 stoi将 n 进制的字符串转化为十进制示例:stoi(str, 0, 2); 阅读全文
posted @ 2021-04-10 17:38 行者常至,为者长成 阅读(393) 评论(0) 推荐(0)
STL之优先队列 priority_queue
摘要:priority_queue的用法 https://blog.csdn.net/xiaoquantouer/article/details/52015928 https://blog.csdn.net/weixin_36888577/article/details/79937886 #include 阅读全文
posted @ 2021-04-10 17:32 行者常至,为者长成 阅读(72) 评论(0) 推荐(0)
c++智能指针
摘要:智能指针的行为类似常规指针,重要的区别是它负责自动释放所指的对象。C++11标准库提供的这两种智能指针的区别在于管理底层指针的方式:shared_ptr允许多个指针指向同一个对象;unique_ptr则"独占"所指向的对象。 C++11提供了三种智能指针:std::shared_ptr, std:: 阅读全文
posted @ 2021-03-05 16:02 行者常至,为者长成 阅读(540) 评论(0) 推荐(0)
c++常用函数
摘要:一、sort函数 在sort函数中使用 greater<>() 和 less<int>()int A[]={1,4,3,7,10};const int N=sizeof(A)/sizeof(int);vector<int>vec(A, A+N); sort(vec.begin(),vec.end() 阅读全文
posted @ 2020-03-30 21:27 行者常至,为者长成 阅读(721) 评论(0) 推荐(0)
vector常用方法
摘要:1、find使用 不同于map(map有find方法),vector本身是没有find这一方法,其find是依靠algorithm来实现的。 #include <iostream>#include <algorithm>#include <vector> int main(){ using name 阅读全文
posted @ 2020-03-29 11:44 行者常至,为者长成 阅读(446) 评论(0) 推荐(0)
STL中常用算法
摘要:一、排序 sort sort(first_pointer,first_pointer+n,cmp) 默认为升序 若要使用降序,自行写cmp 函数 bool cmp(int a,int b){ return a<b; //升序排列,如果改为return a>b,则为降序} 例如:方法一:定义比较函数( 阅读全文
posted @ 2019-12-23 22:06 行者常至,为者长成 阅读(377) 评论(0) 推荐(0)
STL中的string
摘要:string常用函数 1、构造函数 string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello" 2、删除 erase 阅读全文
posted @ 2019-12-23 21:56 行者常至,为者长成 阅读(557) 评论(0) 推荐(0)
STL中的map
摘要:一、关联容器: 按关键字有序保存元素map 关联数组;保存关键字-值对set 关键字即值,只保存关键字的容器multimap 关键字可以重复出现的mapmultiset 关键字可以重复出现的set 无序关联容器unordered_map 用哈希函数组织的map,无序unordered_set 用哈希 阅读全文
posted @ 2019-12-23 21:35 行者常至,为者长成 阅读(458) 评论(0) 推荐(0)
STL中的set和multiset
摘要:注意: 1、count() 常用来判断set中某元素是否存在,因为一个键值在set只可能出现0或1次。 2、erase()用法 erase(iterator) ,删除定位器iterator指向的值 erase(first,second),删除定位器first和second之间的值 erase(key 阅读全文
posted @ 2019-12-22 22:38 行者常至,为者长成 阅读(194) 评论(0) 推荐(0)
C++基础知识
摘要:一、C++占用内存分配 1)、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2)、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表, 阅读全文
posted @ 2018-05-18 21:27 行者常至,为者长成 阅读(212) 评论(0) 推荐(0)
socket的阻塞与非阻塞,同步与非同步
摘要:网络编程中通常提到四种方式,同步/异步,阻塞/非阻塞。以下对它们的概念进行总结 1、同步/异步:主要针对C端 同步:所谓同步,就是在C端发出一个功能调用时,在没有得到结果之前,调用不返回,也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如普通B/S模式(同步):提交请求->等待服务器处理- 阅读全文
posted @ 2017-04-26 17:30 行者常至,为者长成 阅读(259) 评论(0) 推荐(0)
基于MFC的socket编程
摘要:网络编程 1、windows 套接字编程(开放的网络编程接口)添加头文件#include<windows.h> 2、套接字及其分类 socket分为两种:(1)数据报socket:无连接套接字,可向指定的socket发送数据报消息,也可从指定的socket接收消息,提供双向的面向记录的数据流。但不能 阅读全文
posted @ 2017-04-26 16:39 行者常至,为者长成 阅读(2877) 评论(0) 推荐(0)
栈和堆的区别
摘要:堆和栈的区别 一、申请方式 栈:由系统自动分配 堆:需要程序员自己申请,并指明大小 二、申请后系统的响应 栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出 堆:操作系统有一个记录空间内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆 阅读全文
posted @ 2017-03-23 12:11 行者常至,为者长成 阅读(154) 评论(0) 推荐(0)