
C++/C
suye233
穷变
展开
-
c++操作符重载
1.运算符重载: 简单来说,运算符重载是指c++对于=、+、-、[ ]等一系列运算符可让编程者自行另定义其作用的一种形式的多态。 比如现在创造一个Time类,代码如下:#includeusing namespace std;class Time{private: int hours; int minutes;public: Time(); Time(原创 2017-09-24 20:20:50 · 402 阅读 · 3 评论 -
c++直接初始化与拷贝初始化
我们常见的几种初始化的形式:string str1 = "first"; //拷贝初始化,编译器允许把这句话改写为string str(“first”),但是string类必须有public的拷贝(移动)构造函数string str2(10,'a'); //直接初始化string str3(str2); //直接初始化string str4 = st...转载 2018-09-11 17:33:28 · 1232 阅读 · 0 评论 -
c++之浅拷贝与深拷贝
C++类的赋值运算符“=”重载,以及深拷贝和浅拷贝转载自:http://blog.youkuaiyun.com/liubing8609/article/details/41410893在面向对象程序设计中,对象间的相互拷贝和赋值是经常进行的操作。如果对象在申明的同时马上进行初始化操作,则称之为拷贝运算。例如:class1 A("af"); class1 B=A;转载 2017-12-29 14:34:16 · 261 阅读 · 0 评论 -
c++之析构函数
今天是2018年的第一天,希望自己能在这一年再接再厉!!! 在过去的五天里,我终于体会到了为什么c++这一门语言被人称为最飘逸、最成功、最失败的语言了,先不说它对内存的支配怎么样,单是类与类之间的关系,一系列的语法就可以让人晕头转向了,鉴于在写项目时吃了析构函数的亏,所以今天谈谈对析构函数的理解: 什么是析构函数呢?用构造函数创建对象后,程序负责跟踪对象,直到过期为止。对象过期原创 2018-01-01 21:06:34 · 299 阅读 · 0 评论 -
c++与java区别的理解(二)--处理参数顺序和输出编译顺序
前几天碰到了一个很有趣的问题,就是关于c与java的处理参数顺序和输出编译顺序的不同,话不多说,先来看两个案例:#includeusing namespace std;void print(int i,int j){ cout<<i<<" "<<j<<endl;}int main(){ int i=0; print(++i,i++); i=0;原创 2017-12-23 17:10:22 · 341 阅读 · 0 评论 -
c++与java区别的理解(一)--引用
在刚刚接触java的引用的时候,我便不假思索的将它等同于c++的引用,后来在实践中发现,和我想的有很大的不同。 先来看看两者之间的定义: java中的引用:“每种编程语言都有自己的数据处理方式。有些时候,程序员必须注意将要处理的数据是什么类型。你是直接操纵元素,还是用某种基于特殊语法的间接表示(例如C/C++里的指针)来操作对象。所有这些在 Java 里都得到了简化原创 2017-12-22 17:03:20 · 1328 阅读 · 0 评论 -
12个有趣的C语言面试题及答案
转载自:http://blog.youkuaiyun.com/sjin_1314/article/details/4841848312个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buf转载 2017-11-26 17:07:00 · 7150 阅读 · 2 评论 -
c/c++之指针详解
c语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是c语言的灵魂,一点都不为过,下面我来给大家详细的介绍指针的难以理解的概念以及一些注意的细节。 1.指针的概念 指针是c/c++中的一个变量,是存储它所指向那个单元的地址,它可以利用地址,将它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可原创 2017-11-19 14:48:41 · 398 阅读 · 0 评论 -
c/c++之函数指针
提起c++与c的指针与函数,如果不提函数指针,那么就对于c或c++的讨论是不完善的。与数据项类似的是,函数也有自己的地址,引用自《c++ primer plus》的一句话:“函数的地址是存储其机器语言代码的内存开始的地址”,而函数指针就是指向函数的指针。有人会问,函数指针与普通的函数有什么不同呢?函数指针可以将函数的地址作为一个参数传进函数里。看到这里,人自然而然会问,直接在将函数返回值作为参原创 2017-10-25 11:50:42 · 257 阅读 · 0 评论 -
c++/c的内存管理机制
C++的内存是如何操作的,换句话说就是计算机如何管理应用程序的。参考文章:http://blog.youkuaiyun.com/cthawdf/article/details/7661797内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存转载 2017-10-22 11:02:53 · 1325 阅读 · 0 评论 -
c++函数重载
重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。 重载函数有点像是多种含义的操作符(上篇操作符重载函数重载中的一种),例如:原创 2017-09-26 17:23:14 · 277 阅读 · 0 评论 -
c中malloc、calloc、recalloc用法
转载自https://www.cnblogs.com/klchang/p/5719470.htmlC标准函数库中,常见的堆上内存管理函数有malloc(), calloc(), recalloc(), free()。之所以使用堆,是因为栈只能用来保存临时变量、局部变量和函数参数。在函数返回时,自动释放所占用的存储空间。而堆上的内存空间不会自动释放,直到调用free()函数,才会释放堆上的存...转载 2018-09-19 10:22:56 · 4067 阅读 · 0 评论