为了账号安全,请及时绑定邮箱和手机立即绑定

趣味 C++ 进阶

难度初级
时长 8小时 0分
学习人数
综合评分9.60
10人评价 查看评价
10.0 内容实用
8.8 简洁易懂
10.0 逻辑清晰

最新回答 / newjeans
是的,这样你返回了一个临时变量的引用也就是地址值给到外界,这样外部其实还能操控你这个地址,但是地址指向的数据已经被销毁了。一般来说,返回引用或者是常引用通常是返回类的私有成员变量,用于提供外部接口,特别的例如Get函数,const Data& Class::GetData() const { return m_data; };这种情况以常引用的方式返回了一个Data变量,同时函数为常函数。

最新回答 / 裕圣轩
子类转换为父类可以直接隐式转换,不需要显式转换。当然,显式转换也是可以的。我都是试过了,放心用。
#include <iostream>
#include <stdio.h>

using namespace std;

int main() {
int arr[10] = {1,3,5};
int * ap = arr;
ap++;
printf(" %d \n", *(ap++));
printf(" %d", *(arr + 1)); //这里改成arr++就会报错,可以这样举例教学,
return 0;
}
老师 左下斜后方没有判断
int arr[10] = {1,2,3};
int * ap = &arr;
ap++;
printf(" %d \n", *(ap++));
printf(" %d", *(arr + 1)); //这里改成arr++就会报错,可以这样举例教学,

还有最后的结构体的成员引用,可以明确一点:(*p).a等价于s.a,但在使用指针时,需要用->符号
严重不符合标题。首先,使用参数给对象的属性赋值,这完全不是通过函数返回对象。其次,如果程序员是用Vim,就没有这种优化功能了,而且release模式和debug模式的区别也没说清楚。总之,看完这节课完全没懂如何正确地使用函数创建一个对象并返回。

最赞回答 / AndroidRA9
如果没有重载运算符=,赋值的时候只会浅拷贝,也就是说两个变量会指向同一个内存空间,在清除内存时可能会把同一内存空间清除2次并导致内存泄漏。重载运算符“=”之后,可以进行深拷贝,从而防止浅拷贝产生的内存泄漏问题。此外,重载运算符“=”还可以解决类对象之间的运算和赋值问题。
Iswin()函数没加return 0。不加的话,Iswinret返回值是10,怪不得一输入就直接结束。

最赞回答 / lan3717187
没问题的,1美元等于100美分。    Dollar dollarA(4, 9);    Dollar dollarB(1, 3);4美元9美分 + 1美元3美分 = 5.12美元。4美元90美分 + 1美元30美分 = 6.2美元。
感觉像java中的抽象类和接口
通俗易懂,谢谢老师!
所以……10进制小数要怎么转化为二进制?
Iswin()函数最后需要加上return 0; 看到老师代码没加
后面说了一点计组(计算机组成原理的知识),想进一步了解可以去看看计组。
干货满满,再回头看一篇
首页上一页1234567下一页尾页
课程须知
你需要具备基础的 C++ 语法知识,在学习本课程之前,建议先学习《趣味 C++ 入门》,快速认识 C++,熟悉 C++ 基本语法,更加快速入手进阶课程!
老师告诉你能学到什么?
在本门课程中,你将学习到:计算机存储数据的原理、指针的进阶、面向对象编程、内存管理技巧等 C++ 高级语法。在课程的最后,将带领大家使用 C++ 编写一个五子棋游戏,通过实践,加深理解,巩固学习成果。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消