![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
lishuandao
这个作者很懒,什么都没留下…
展开
-
scanf("%s")和scanf("%c")区别
今天做了道题,涉及到字符串、字符、数字的读取问题,感觉自己对于scanf("%s") 和scanf("%c")的区别还不是很清楚,以前都是一边写,一边测,也没注意过它们的区别,今天感觉被坑的较惨,所以写下这篇博文。读入格式:%s、%c、%d……它们各自的分隔符:%s:空格、回车、TAB键%d:空格、回车、TAB键%c:没有分隔符,上述分隔符都被它当作正常字符对待。原创 2015-08-30 21:41:43 · 3215 阅读 · 0 评论 -
构造函数
C++中,必须定义构造函数,否则在声明实例的时候出错。不会给你生成默认的构造函数A(),所以在声明实例:A a(报错)。Java中,当自己没有定义构造函数时,编译器会给补上一个默认的构造函数A(),声明实例:A a(不会报错)。但是如果我们已经定义了自己的含参的构造函数,则编译器不再给生成默认构造函数,此时声明实例:A a(报错)。原创 2016-03-25 10:22:22 · 235 阅读 · 0 评论 -
C语言静态变量与静态函数
c语言静态变量和静态函数转载 2016-03-25 12:14:19 · 331 阅读 · 0 评论 -
函数的可重入性
函数可重入的解释转载 2016-03-25 12:15:11 · 305 阅读 · 0 评论 -
静态成员
通俗易懂:C++ 类的静态成员详细讲解转载 2016-03-25 13:50:10 · 249 阅读 · 0 评论 -
C语言指针强制类型转换
原文出处:mhjcumt概要:C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值。不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个地址就是硬件访问的依据,而名字只是提供给程序员的一种记住这个地址的方便一点的方法。但是,不同的变量在机器中都是0-1代码,所以,我们不能简单的通过检查一个值的位来判断它的类型。例如,定义如下:转载 2016-03-25 15:20:09 · 610 阅读 · 0 评论 -
四种强制类型转换的总结(const_cast、static_cast、dynamic_cast、reinterpreter_cast)
原文出处:youyoulgC风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如i转载 2016-03-25 15:23:00 · 1374 阅读 · 0 评论 -
DWORD与int
有的程序中用DWORD,其实它表示的是无符号整形,占用4个字节,宏定义如下:typedef unsigned int DWORD;int 是有符号的整形,在有些情况下,需要使用无符号整数。原创 2016-03-25 15:28:16 · 2723 阅读 · 0 评论 -
线程的封装
原文出处一个封装好的线程类一.创建线程函数 常用的创建线程的函数是CreateThread,还有MFC中的AfxBeginThread方法.另一种函数是_beginthreadex,其实它在内部调用了CreateThread,在调用之前_beginthreadex做了很多的工作,从而使得它比CreateThread更安全.所以一般使用_beginthread转载 2016-03-25 17:11:17 · 339 阅读 · 0 评论 -
一个封装好的线程类
原文出处class CThread{public: /**//** * Default Constructor */ CThread() { m_pThreadFunction = CThread::EntryPoint; m_runthr转载 2016-03-25 17:12:58 · 847 阅读 · 0 评论 -
CMake使用介绍
原文链接: CMake使用总结转载 2016-03-24 15:27:00 · 341 阅读 · 0 评论 -
C++命名空间详解std
1. 什么是命名空间在编程语言中,命名空间是一种特殊的作用域,它包含了处于该作用域中的所有标示符,而且其本身也是由标示符表示的。命名空间的使用目的是为了将逻辑相关的标示符限定在一起,组成相应的命名空间,可使整个系统更加模块化,最重要的是它可以防止命名冲突。就好比在两个函数或类中定义相同名字的对象一样,利用作用域标示符限定该对象是哪个类里定义的。2. C++中的命名空间定义在转载 2016-03-13 15:14:30 · 384 阅读 · 0 评论 -
常用位操作
这些基础性的知识,掌握不好,时刻不能顺畅解决,影响效率和心情。按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0例如:3&5 即 0000 0011 & 0000 0101 = 0000 000原创 2015-08-31 12:39:24 · 361 阅读 · 0 评论 -
C++编译、链接涉及到的一些基本问题
出处:http://blog.csdn.net/qq575787460/article/details/18671137,讲的非常清楚,特此记录如下:C++关于编译、链接方面的问题,主要包括如下:1:什么样的函数以及变量可以定义在头文件中2:extern "C"的作用3:防止重复包含的宏的作用4:函数之间是怎么链接起来的我认为,这些问题不转载 2015-08-21 11:22:49 · 673 阅读 · 0 评论 -
类成员函数后面加const
类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参转载 2015-09-16 16:38:21 · 1452 阅读 · 0 评论 -
C++ vector排序
#include#include#include #include using namespace std;//这种排序方法,类似结构体的排序int my_cmp(pair p1,pair p2){return p1.second > p2.second;}int main(int argc,char*转载 2015-09-16 16:45:40 · 1004 阅读 · 0 评论 -
进程间同步和互斥:临界资源
简介各进程采取互斥的方式,实现共享的资源称作临界资源。属于临界资源的硬件有打印机、磁带机等,软件有消息缓冲队列、变量、数组、缓冲区等。 诸进程间应采取互斥方式,实现对这种资源的共享。每个进程中访问临界资源的那段代码称为临界区。显然,若能保证诸进程互斥地进入自己的临界区,便可实现诸进程对临界资源的互斥访问。为此,每个进程在进入临界区之前,应先对欲访问的临界资源进行检查转载 2016-03-20 18:34:25 · 4350 阅读 · 0 评论 -
进程间同步和互斥
概念:两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥· 也就是说,一个进程正在访问临界资源,另一个要访问该资源的进程必须等待。在多道程序环境下,存在着临界资源,它是指多进程存在时必须互斥访问的资源。也就是某一时刻不允许多个进程同时访问,只能单个进程的访问。我们把这些程序的片段称作临界区或临界段,它存在的目的是有效转载 2016-03-20 18:37:53 · 2015 阅读 · 0 评论 -
内存空间分几部分:代码段、数据段,栈,堆 (收集整理)
原文出处:YEYUANGEN转载 2016-03-20 18:40:20 · 353 阅读 · 0 评论 -
类成员函数参数和类成员变量的可见性
原文出处:EdwardLewis一、如下示例#include "iostream"using namespace std;class point{public:int x;int y;point() {}point(int a,int b){x=a;y=b;}void output(){cout}void input(int a,int转载 2016-03-20 22:01:47 · 539 阅读 · 0 评论 -
C++命名空间namespace的理解和用法
命名空间(namespace)是一种描述逻辑分组的机制,可以将按某些标准在逻辑上属于同一个任务中的所有类声明放在同一个命名空间中。标准C++库(不包括标准C库)中所包含的所有内容(包括常量、变量、结构、类和函数等)都被定义在命名空 间std(standard标准)中了。定义命名空间有两种形式的命名空间——有名的和无名的。命名空间的定义格式为:(取自C++标准文档)转载 2016-03-13 15:01:45 · 1576 阅读 · 0 评论 -
自己动手封装VxWorks下C++基础库
讲的比较清楚,可以借鉴,学学作者的思路:自己动手封装VxWorks下C++基础库转载 2016-03-25 20:11:22 · 1223 阅读 · 0 评论