
c++
cytheria43
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++ socket发送string 、char*字符串,客户端接收到乱码
string s; if(getline(infile,s)) { send(conn,s,1024,0); sleep(1); } 这样子写,得到的结果除了该字符串外还带了一串乱码(下图jpg图像地址后的一串乱码),原因是发送的长度为1024,而不是字符串实际长度 改写为: string s; if(getline(infile,s)) { ...原创 2020-07-16 15:18:10 · 4490 阅读 · 2 评论 -
const 用法
const (1)const 变量 b=6; const int a=b; int const a=b;两者一样,换顺序无所谓。 说明a是不可修改的常量,必须初始化【a=3 error,提示:表达式必须是可修改的左值】 (2)const指针 int b=10; ①const int *a=&b; int const *a=&b;都是常量指针,可以看成const (*...原创 2019-05-17 18:59:10 · 468 阅读 · 0 评论 -
【编程题】二分查找
void BinarySearch(int a[],int n,int key) { int left = 0, right = n-1; //初始化左右 while (left<=right) { int mid = (left + right) / 2; //二分查找的下标 if (a[mid] > key)right = mid-1; else if (a...原创 2019-05-13 15:16:00 · 355 阅读 · 0 评论 -
素数判断/以及素数相关编程题
素数判断 bool is_prime(int n) { if (n < 2)return false; if (n == 2 || n == 3)return true; if ((n + 1) % 6 != 0 && (n - 1) % 6 != 0) return false;//5以后的素数肯定在6的倍数旁边, ...原创 2019-05-17 11:18:17 · 671 阅读 · 0 评论 -
经典排序算法
冒泡排序 void BubbleSort(int a[], int n) { for (int i = 0; i <n; i++) { for (int j = 0; j < n-i-1 ; j++) { if (a[j] > a[j+1]) swap(a[j], a[j+1]); } } } 插入排序 void InsertSort(...原创 2019-05-11 23:55:08 · 25169 阅读 · 0 评论 -
智能指针总结
智能指针的作用:用于管理对象的生命周期 智能指针是一个栈对象,用于管理对象的堆内存。使用它的get()函数才能返回它的裸指针。 auto_ptr 用于管理单个对象的堆内存【容错率太低】 最好不要使用赋值运算符=,会让出访问所有权,致使自己访问出错 使用release方法会让出所有权后不能自动调用析构函数,致使不会自动释放对象,造成内存泄漏 因为不能使用赋值运算符所以不能用于vect...原创 2019-05-21 14:13:58 · 219 阅读 · 0 评论 -
c++面试常见题·Part 3 TCP/IP&多线程编程&设计模式&Linux基操等
1.TCP/IP 四层模型: (图来源于网络) IP层(网络层)主要协议: ARP(地址解析协议):负责将一个已知的ip地址解析成MAC地址,以便在交换机上进行通信、 ICMP(Internet控制消息协议):返回错误信息 DHCP(动态主机配置协议):由DHCP服务器动态分配ip 和RARP(反向地址转换协议) 2.TCP/UDP区别以及拥塞控制 TCP(Transmission...原创 2019-05-07 18:13:32 · 817 阅读 · 0 评论 -
c++面试常见题·Part 2 数据结构和STL
常用数据结构 数组 :分配空间固定,地址连续,随机取一个数时间复杂度为O(1) 链表(单链表,双链表) 适合快速增删 栈(后进先出) 队列(FIFO先进先出) 树:二叉树遍历(递归方式和非递归方式 )红黑树 B树 图 主要考察路径查找 STL与底层实现: 顺序容器: vector 数组 list 双向链表 deque 双端队列中央控制器和多个缓冲区 适合首尾进行存取操作 ...原创 2019-05-06 14:43:30 · 210 阅读 · 0 评论 -
判断单链表是否有环,环入点,环长,单链表长度
//判断是否有环 class Solution { public: bool hasCycle(ListNode *head) { if(head==NULL||head->next==NULL)return false; ListNode *fast=head,*slow=head; while(fast&&fast...原创 2019-05-08 11:56:06 · 614 阅读 · 0 评论 -
c++面试常见题·Part 1 基础
new&delete、malloc&free 都能动态申请内存和释放内存 malloc&free是标准库函数,new&delete是运算符,对于非内部数据类型的对象而言,只有new,delete能自动调用对象的构造函数和析构函数 指针和引用 指针指向变量的地址,引用是变量的别名, 引用不占内存单元,指针本身占4字节 引用必须初始化,并在初始化后不能修改,而指...原创 2019-05-04 19:26:30 · 227 阅读 · 0 评论