C++
文章平均质量分 55
rocky_56X
这个作者很懒,什么都没留下…
展开
-
字符串常用函数讲解(strcpy,strcmp,strstr,strncat,strlen,strspn)
1,strcmp 原型:int strcmp(const char *s1,const char *s2)返回值:s1 == s2,返回0;s1 < s2,返回负数;s1 > s2,返回正数规则:从左到右比较ASCII码,直到‘/0’结束。 2,strcpy原型:char *strcpy(char* dest, const char *src)返回值:返回值...原创 2018-08-10 14:50:13 · 709 阅读 · 0 评论 -
单例模式(懒汉式和饿汉式)及如何实现线程安全
单例模式有两种:懒汉式和饿汉式。1 #include <iostream>23 using namespace std;456 // 保证在整个程序运行期间,最多只能有一个对象实例789 // 懒汉式10 // 1 、构造函数私有化11 // 2 、写一个静态函数获取对象指针12 // 3 、有一个静态成员变量,保存对象指针13 class Singl...原创 2018-09-06 19:04:35 · 1875 阅读 · 0 评论 -
八种排序算法之插入排序
#include <stdio.h>// 交换数组中下标为 i 和下标为 j 的元素的值void swap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}// 打印数组void print(int *a, int len){ int i; for (i = 0; i <...原创 2018-08-25 09:46:32 · 238 阅读 · 0 评论 -
八种排序算法之冒泡排序(冒泡排序的优化,双向冒泡)
首先,让我们看看基本的冒泡排序#include <iostream>using namespace std;void swap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void print(int *a, int len){ for(int i = 0; i < ...原创 2018-08-27 13:29:06 · 1341 阅读 · 0 评论 -
STL容器set使用说明(set保存自定义数据)
c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器。set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。1) 不能直接改变元素值,因为那样会打乱原本正确的顺序,要改变元素值必须先删除旧元素,则插入新元素2) 不提供直接存取元素的任何操作函数,只能通过迭代器进行间接存取,而且从迭代器角度来看,...转载 2018-08-17 10:05:35 · 1549 阅读 · 0 评论 -
QT中slot,signal,emit讲解
Qt中的类库有接近一半是从基类QObject上继承下来,信号与反应槽(signals/slot)机制就是用来在QObject类或其子类间通讯的方法。作为一种通用的处理机制,信号与反应槽非常灵活,可以携带任意数量的参数,参数的类型也由用户自定。同时其本身也是类型安全的,任何一个从QObject或其子类继承的用户类都可以使用信号与反应槽。 信号的作用如同Windows系统中的消息。在Q...转载 2018-08-22 18:27:29 · 3430 阅读 · 1 评论 -
八种排序算法之选择排序
#include <stdio.h>// 交换数组中下标为 i 和下标为 j 的元素的值void swap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}// 选择排序void sort(int *a, int len){ // 在数组中下标找最小元素的下标 int i, j...原创 2018-08-15 21:28:12 · 275 阅读 · 0 评论 -
C++中常量指针和指针常量的区别
一、常量指针常量指针本质是指针,常量修饰它,表示这个指针是一个指向常量的指针(变量),也就是指向一个无法修改的量。C++中常量指针定义为:const int* a,当然int const * a也可以,不过习惯用第一种了。使用常量指针时要注意,指针指向的对象不能通过这个指针来修改,因为对象现在是常量了,不可以修改,例如:int tmp = 65;const int *c = &...原创 2018-08-03 23:05:04 · 2725 阅读 · 1 评论 -
总结一下scanf和gets两个输入函数的区别,及如何混用
1,scanf这是我们最常见的函数,scanf是标准输入函数,使用形式:scanf(“%d”, &num)优点:可以输入所有类型的数据类型,并且效率非常高,是cin的十几倍;缺点:scanf()遇到空格、回车、Tab即结束。2,getsgets()是在stdio.h中是输入函数,使用类型:gets(str)。可以从标准输入类中读取一行字符到指定的字符串中,它在遇到E...原创 2018-08-10 16:00:21 · 2190 阅读 · 0 评论 -
汉诺塔递归写法
汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。这类问题往往都是递归解法(如斐波拉契数列),我们先考虑3个盘的情况,然后推导到全部。...原创 2018-09-19 23:25:34 · 484 阅读 · 0 评论