C/C++
文章平均质量分 77
thief thief
热爱计算机的小菜鸟,跟随大神们学点知识!
展开
-
std::string用法详解
前言: string 的角色1 string 使用1.1 充分使用string 操作符1.2 眼花缭乱的string find 函数1.3 string insert, replace, erase 2 string 和 C风格字符串3 string 和 Charactor Traits4 string 建议5 附录前言: string 的角色C++ 语言是个十转载 2017-03-03 16:44:56 · 2439 阅读 · 0 评论 -
共享内存
共享内存的实现原创 2017-03-20 22:47:41 · 339 阅读 · 0 评论 -
什么情况下C++编译器会生成默认的构造函数
问题:对c++初学者来说存在一个误区,如果类没有定义任何构造函数,编译器会自动生成默认的构造函数。 注意:这种说法是错误的。正确的说法:惟有默认构造函数”被需要“的时候编译器才会合成默认构造函数。那什么情况下是“被需要”的时候?以下有四种情况编译器会自动合成默认构造函数情况1 含有类对象数据成员,该类对象类型有默认构造函数即:一个class含有类对转载 2017-03-05 00:01:09 · 5543 阅读 · 2 评论 -
C++继承(二)派生类的默认函数
C++继承中的默认函数原创 2017-03-12 14:42:30 · 1072 阅读 · 0 评论 -
C++继承(三)通过菱形继承看virtual继承
virtual继承原创 2017-03-13 14:52:32 · 744 阅读 · 0 评论 -
线程(上)
线程的概念在Linux中实际上没有真正意义上的线程,它是根据进程的模型模拟出来的一种类似于进程一样的程序,它是在进程的地址空间中存在,并且可以吧进程中的任务分开执行,达到真正意义上的并行,加快操作系统的运行速度;所以说:线程是Linux中轻量级的进程。(在Windows中实现了真正意义上的线程) 因为,线程存在于进程的地址空间中,所以,线程可以共享进程的一些资源和环境: 1、文件描述表,2、每种原创 2017-03-24 20:29:33 · 236 阅读 · 0 评论 -
排列组合的代码分析
排列组合的递归使用原创 2017-04-16 02:05:23 · 835 阅读 · 0 评论 -
单链表的相交问题
链表相交问题原创 2017-04-26 23:59:04 · 609 阅读 · 0 评论 -
简述STL-->空间配置器
空间的配置与释放原来思想中存在的问题:在我们没有了解到STL中的空间配置器的时候,我们所了解的资源的申请无非就是malloc/free和new/delete还有new[]/delete[]组合,它们用起来很简单方便,但是我们都知道,它们申请失败以后,直接就是退出程序不做其他处理;那么,真的是没有内存让我们用了吗?其实并不然,下面我们就来列出我们曾经用的方法中的几大缺点:效率低下:(我们每次申请空间原创 2017-08-01 19:19:50 · 364 阅读 · 0 评论 -
模板&泛型编程
模板函数,模板类原创 2017-03-20 21:11:57 · 319 阅读 · 0 评论 -
C++多态(二)虚表剖析以及菱形继承
虚表剖析和带有虚函数的菱形继承原创 2017-03-18 02:15:37 · 548 阅读 · 0 评论 -
C++多态(一)对象类型与虚函数
对象类型与虚函数的内部结构原创 2017-03-17 17:02:38 · 798 阅读 · 0 评论 -
用C语言写杨辉三角
杨辉三角这个问题是我们从小学开始上学的时候就见过的问题,从上学的时候我们就在一直接受对于这个问题的新知识,这个也是我们的数学家一直研究的问题,但是对于像我这样的刚刚开始学C语言的菜鸟级别的小白来说,这个用C语言写还是有点难度,也是进阶的一步,所以经过几次的练习和编译,得到一点小收获,所以在这分享给大家。毕竟是小小白问题还是比较多,请大家多度指导。#include #define N 14原创 2016-10-15 21:59:17 · 8351 阅读 · 0 评论 -
对于4个人有三个是真话一个假话的问题
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。#include int main(){ int i = 0; char killer; int sum = 0; for(原创 2016-10-15 22:06:09 · 3338 阅读 · 0 评论 -
C语言写素数的几种方法(菜鸟级别的)
菜鸟 开始刚刚学习来的几个方法,可能有更厉害的,就是还不会第一种 特备简单的;#include int main (){int i, j, k;int count = 0;for(i = 100;i < 201; i++){k = 1;for(j = 2; j < i; j++){if( i%j==0){k=0;break;}}if(k){co原创 2016-10-15 22:12:57 · 5746 阅读 · 0 评论 -
个人对于static和extern的区分看法
对于static和extern在全局变量和局部变量中的混合使用,我个人感觉还是比较有意思的,因为这个问题在老师上课讲的时候我感觉好特么难啊。为什么这个变,到下一个模块里面又不变了,好绕啊,弄得我都不知道这个程序怎么执行的,所以在下来自己经过调试和计算找到了一点方法,算出来了。#include #include int count = 3;int main(){ int i, sum,原创 2016-10-19 22:25:35 · 333 阅读 · 0 评论 -
对于位运算的一些例题下的该如何使用
第一个问题:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子:1999 2299输出例子:7这个例子我一开始并不知道该如何进行运算,在看了一些资料以后才明白自己并没有掌握位运算的技巧#include int main(){ int m = 5; int n = 7; int a = m^n; // m^n以后就把他们两个不原创 2016-10-19 22:46:49 · 391 阅读 · 0 评论 -
关于面试试题对于库函数的写法;
1,模拟实现 strcpy 一般形式为 strcpy(字符数组1,字符串2),它表示“字符串的复制函数”,作用是将字符串2复制到字符数组1中去。#include #include #include char *my_strcpy(char *dest, const char *src){ char *ret = dest; assert((dest != NULL)&&原创 2016-11-19 14:47:25 · 310 阅读 · 0 评论 -
左旋转字符串与右旋转字符串
一、 关于左旋转与右旋转操作:定义字符串的左旋转操作:把字符串前面的几个字符移动到字符串后面去,比如"ABCDEFGHI",左旋转2位得到"CDEFGHIAB";同样右旋转操作:把字符串后面的几个字符移动到字符串前面去,比如“ABCDEFGHI”右旋转2位得到“HIABCDEFG”;二、对于左旋转的实现void reverse(char *left, char *right){原创 2016-12-09 17:11:10 · 2317 阅读 · 0 评论 -
栈,堆,以及栈帧
一、栈和堆在了解栈与堆之前,要清楚地址空间分为好几个区:●。。。●环境变量和命令行参数区● 栈区●堆区●未初始化数据区●初始化数据区●静态区●代码区地址空间的分配图如下:在Windows和Linux下 这块空间不属于内存,它是通过一个叫页表的东西映射到物理内存中的;他们的申请方式也不一样原创 2017-02-20 09:44:20 · 910 阅读 · 0 评论 -
C++继承(一) 常用的继承方式
继承的一些基本知识原创 2017-03-07 23:28:53 · 14084 阅读 · 0 评论