![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
hustanding
这个作者很懒,什么都没留下…
展开
-
C++构造函数和析构函数为什么不能调用虚函数?
构造函数里面包含virtual函数的情况先看一段代码class Transaction {// 所有交易的基类 public: Transaction(); virtual void logTransaction() const = 0;//建立依赖于具体交易类型的登录项 ... }; Transaction::Transaction() //实现基类的构...转载 2018-08-11 16:16:59 · 2546 阅读 · 1 评论 -
C++ 智能指针
简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared_...转载 2018-08-12 12:59:52 · 121 阅读 · 0 评论 -
2019网易提前批笔试题-塔
题目描述链接: https://www.nowcoder.com/questionTerminal/54868056c5664586b121d9098d008719orderByHotValue=1&page=1&onlyReference=false小易有一些立方体,每个立方体的边长为1,他用这些立方体搭了一些塔。 现在小易定义:这些塔的不稳定值为它们之中最高的塔与最低...原创 2018-08-31 22:02:24 · 774 阅读 · 0 评论 -
C、C++内存分配
C++5大存储区域栈:是分配给函数局部变量的存储单元,函数结束后,该变量的存储单元自动释放,效率高,分配的空间有限。堆:由new创建,由delete释放的动态内存单元。如果用户不释放该内存,程序结束时,系统会自动回收。自由存储区:由new创建,由delete释放的动态内存单元,与堆类似。全局(静态)存储区:全局变量和静态变量占一块内存空间。常量存储区:存储常量,内容不...转载 2019-03-10 17:11:28 · 172 阅读 · 0 评论 -
C++的getline注意点
背景有一次做编程题的时候,输入有三个变量,分别是int的m,n,还有string的s,然后我是这么写的int m,n;string s;cin >> m >> n;getline(cin,s);cout << m << n <<endl <&原创 2019-03-10 17:12:52 · 918 阅读 · 1 评论 -
C++定义一个只能在堆上(栈上)生成对象的类
只能在堆上生成对象:将析构函数设置为私有原因:C++是静态绑定语言,编译器管理栈上对象的生命周期,编译器在为类对象分配栈空间时,会先检查类的析构函数的访问性。若析构函数不可访问,则不能在栈上创建对象。只能在栈上生成对象:将new 和 delete 重载为私有原因:在堆上生成对象,使用new关键词操作,其过程分为两阶段:第一阶段,使用new在堆上寻找可用内存,分配给对象;第二阶段,调用构...转载 2019-03-10 17:15:53 · 869 阅读 · 0 评论 -
C++输入输出流运算符重载
<<的重载通常情况下,输出运算符的第一个形参是一个非常量ostream的引用,之所以使用引用,是因为我们无法直接复制一个ostream的对象,而ostream是非常量是因为向流写入会改变其状态。为了与标准库IO操作一致,重载 << 操作符函数应把ostream&作为其第一个参数,对类类型const对象的引用作为第二个参数,并返回对ostream形参的引用。o...原创 2019-03-10 17:16:23 · 4539 阅读 · 1 评论 -
C++预编译
预定义宏宏描述_LINE_这会在程序编译时包含当前行号_FILE_这会在程序编译时包含当前文件名_DATE_这会包含一个形式为 month/day/year_TIME_这会包含一个形式为 hour:minute:second 的字符串,它表示程序被编译的时间。这些宏的实例:#include <iostream>using nam...转载 2019-03-10 17:16:59 · 646 阅读 · 0 评论 -
strcpy和memcpy的区别
本质区别strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。strcpy函数源码(C语言)char * strcpy(char * dest, const char * s...原创 2019-03-10 17:17:45 · 11010 阅读 · 5 评论