CPP
文章平均质量分 59
BigLeo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在面向对象程序设计中,为什么引入了构造函数与析构函数?为什么构造函数与析构函数没有返回值?为什么在一个类中,析构函数只有一个,而不是有多个,与构造函数一一对应?以C++为例回答,必要请用代码说明。
本文深入探讨了C++中构造函数与析构函数的设计哲学。构造函数确保对象初始化的完整性,析构函数保障资源的确定性释放,共同实现了RAII原则。它们没有返回值,因为其本质是生命周期操作而非函数计算。构造函数可重载以适应多种初始化方式,而析构函数必须唯一以确保销毁路径的确定性。这种设计体现了C++对资源管理和对象生命周期的严格把控,构成了类型系统一致性的基础。通过构造/析构函数的合理设计,C++解决了对象完整性和资源泄漏等关键问题。原创 2026-04-19 21:02:03 · 367 阅读 · 0 评论 -
c++中,声明(Declaration)与定义(Definition)有什么不同?
C++中声明与定义的核心区别在于:声明仅引入符号名称而不分配资源(如extern int x;或函数原型),可重复使用;而定义会创建实体并分配内存或提供实现(如变量初始化、函数实现),必须遵循单一定义规则(ODR)。类定义既是声明也是定义,因其完整描述类型结构但不直接分配对象内存。编译器处理时,声明仅记录符号,定义则生成实际代码或内存分配。原创 2026-03-27 21:42:53 · 225 阅读 · 0 评论 -
再说 inline: C++ 中内联函数关键字 inline,该放在什么地方?什么是inline作用的链接规则?
C++ 中内联函数关键字 inline,该放在函数原型处还是函数实现(定义)处,为什么?什么是inline的链接规则,通常.h文件中一般防止被多重包含的机制,有了这个机制就不会有多重定义的问题啊。原创 2026-03-26 16:04:07 · 300 阅读 · 0 评论 -
CodeBlocks控制台应用程序创建指南
本文简介如何使用 Code::Blocks IDE 创建和管理 C++ 控制台应用程序项目。原创 2026-04-13 10:18:12 · 364 阅读 · 0 评论 -
在 GCC + CodeBlocks Ver25.03 环境中,如何查看反汇编供码?
摘要:在GCC+Code::Blocks环境中进行反汇编分析时,必须设置-O0优化级别以避免代码被优化。本文详细说明了在Code::Blocks 25.03中设置-O0的方法:通过GUI路径Project→Settings→Compiler→Debug→Other compiler options添加-O0 -g参数。推荐组合参数-O0 -g -fno-inline -fno-omit-frame-pointer可保留完整调试信息。最后强调必须验证编译日志确认设置生效,并建议通过引用/指针的对照实验验证优化原创 2026-04-06 20:53:14 · 50 阅读 · 0 评论 -
《面向对象程序设计》教学资源汇总(2023-2025)
面向对象程序设计》教学资源汇总(2023)原创 2023-03-06 11:29:31 · 4147 阅读 · 0 评论 -
VSCODE (C++) 的使用
如何使用VSCODE编写C++程序。原创 2022-06-22 10:09:48 · 1658 阅读 · 0 评论 -
2021-2022-02 面向对象程序设计 授课计划
面向对象程序设计 授课计划(2021-2022-02)原创 2022-03-03 16:29:14 · 674 阅读 · 0 评论 -
《面向对象程序设计》教学资源汇总(V2022)
一、教学网站 blog.csdn.net/bigleo 二、课件下载https://blog.csdn.net/BigLeo/article/details/90751948?spm=1001.2014.3001.5502三、本课程课件有二套分别在课件下载网站的如下文件夹中1、课堂上用的课件 > Teaching > KnowledgePoints > CPP2、与教材配套的课件> Teaching > OOP四、授课计划https://blog.csdn原创 2022-03-01 18:01:18 · 1496 阅读 · 0 评论 -
《面向对象程序设计》教学资源汇总(V2021)
一、 教学网站 blog.csdn.net/bigleo 二、 课件下载https://blog.csdn.net/BigLeo/article/details/90751948?spm=1001.2014.3001.5502三、 本课程课件有二套分别在课件下载网站的如下文件夹中1、课堂上用的课件 > Teaching > KnowledgePoints > CPP2、与教材配套的课件> Teaching > OOP四、 授课计划https://blog.原创 2021-04-06 17:31:25 · 799 阅读 · 0 评论 -
When do we use Initializer List in C++?
(感谢原文作者,原文:https://www.geeksforgeeks.org/when-do-we-use-initializer-list-in-c/)Initializer List is used in initializing the data members of a class. The list of members to be initialized is indicated...转载 2020-04-14 17:25:02 · 543 阅读 · 0 评论 -
标准C与标准C++头文件
C中头文件在C++中的使用 一、c的头文件都是以.h结尾,如stdio.h、math.h 二、标准c++的头文件: 1、第一部分,保留了c中的头文件风格,即大部分c的头文件都可以在c++中使用,也可以自定义c类型头文件在c++中使用 2、第二部分,c的标准头文件在c++中去掉了.h后缀,添加了c前缀,如math.h改为cmath、stdio.h改为cstdio。 以stdio.h改为cs...原创 2020-03-17 17:25:40 · 604 阅读 · 0 评论 -
在函数中申请内存,使用参数传递方式将此内存的首地址传给实参
要求:将一个指针p传入一个函数f,f的一个参数p1接收此指针,用p1申请p所属类的内存(new),要求亦指向此申请的内存首地址传。 比较下面两段代码,问哪一个能完成任务?为什么? (1) using namespace std; class Matrix{ public: Matrix(){m_RowCount = 0;}; int getRowCount(){retu原创 2015-06-20 09:09:27 · 2399 阅读 · 2 评论 -
答同学提问
答同学提问 问:老师您好,本学期上您的课已经上了四次了。但是我似乎还是没能理解和掌握这门课的学习方法。最开始在我心里对这门课的理解好比我大一学习的程序设计基础课。就是在机房里面上课,然后一边上机一边操作。而现在上您的课我的感觉是,课本是纯英文的,不大看得懂,硬着头皮看也是一知半解。新知识新概念比较多,上课讲了一遍,课下再去看还是有点记不住。我有点着急,害怕自己没把握好这门课程的学习方法。从而耽误了原创 2015-09-16 18:04:45 · 1188 阅读 · 0 评论 -
推荐:C++论坛
推荐:C++论坛1. CSDN上的C++论坛:http://bbs.csdn.net/forums/CPPLanguage2. http://www.cplusplus.com/3. http://bbs.chinaunix.net/forum.php?mod=forumdisplay&fid=23&filter=typeid&typeid=22欢迎推荐!原创 2015-05-05 15:57:51 · 3230 阅读 · 0 评论 -
Code::Blocks 的使用
一、创建新工程、添加新文件、添加已存在的文件、移除文件。Creating a new project(http://wiki.codeblocks.org/index.php?title=Creating_a_new_project#Adding_a_new_build_target)This page is a guide to many of thebeginnin原创 2015-05-05 15:31:58 · 2427 阅读 · 0 评论 -
【计科13】非多态版通讯录管理程序示例代码
非多态版通讯录管理程序示例代码 已上传供参考。实验示例代码 \ CommsNPolymorphism.rar上传的只是一个简单框架,可考虑如何完善、扩充。原创 2015-04-17 16:51:16 · 1095 阅读 · 0 评论 -
C++: 析构函数为什么要为虚函数
基类指针或引用可以指向或是引用派生类对象,下文以指针为例作讲解。引用的例子类似,不再赘述。如果基类指针向派生类对象,则删除此指针时,我们希望调用该指针指向的派生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放。若使用基类指针操作派生类,需要防止在析构时,只析构基类,而不析构派生类。但是,如果析构函数不被声明成虚函数,则编译器采用的绑定方式是静态绑定,在删...原创 2019-04-28 10:52:24 · 8931 阅读 · 3 评论 -
用顺序表解决josephus问题的算法
/* 用顺序表解决josephus问题的算法*/#include#include#define MAXNUM 100#define FALSE 0#define TRUE 1typedef int DataType;struct SeqList { int n; /* 存放线性表中元素的个数 n DataT转载 2014-10-21 15:40:57 · 1412 阅读 · 0 评论 -
北大裘宗燕老师给出的术语中英文对照表
以下北大裘宗燕老师给出的术语中英文对照表,供参考:http://www.is.pku.edu.cn/~qzy/books/cppl/index00.htm北大裘宗燕老师的个人网站http://www.math.pku.edu.cn/teachers/qiuzy/原创 2014-03-27 15:38:11 · 1654 阅读 · 0 评论 -
C++入门教程:C++基础教程,含进阶
C++入门教程:C++基础教程,含进阶http://c.biancheng.net/cpp/biancheng/cpp/rumen/原创 2017-01-09 15:25:57 · 4902 阅读 · 0 评论 -
C++中的private:类型相同的两个对象,是否可以访问对方的private成员?
下面的代码,为什么可以编译通过?class Point{public: Point(Point & p);private: int x;}Point::Point(Point & p){ x = p.x;}Point::Point(Point & p)函数体中的语句“x = p.x”,为什么可以正常编译?一、先看来自ISO/IEC 14882(C++ 98年标准),中原创 2017-03-28 17:41:14 · 6315 阅读 · 0 评论 -
C++中的inline函数 - 以GCC为例
需要说明的是,C++中的inline是建议型关键字,其编译细节需要参阅编译器的说明文档。以下测试使用了GCC,打开了如下编译开关, Project->Build options->GNU GCC Compiler->Compiler Flags->Optimations->勾选 Optimize fully(for speed) [-O3]项 一、编译如下源文件,确定函数调用的反汇编:#inc原创 2017-03-29 10:49:17 · 1328 阅读 · 0 评论 -
C++资源
C++参考手册 http://en.cppreference.com/w/ 中文版中,还有很多没有翻译,建议参考英文版http://www.cplusplus.com/ C++的库函数等。google c++ 编程规范 https://google.github.io/styleguide/cppguide.html google 其它规范 https://github....原创 2017-03-23 08:57:05 · 2670 阅读 · 0 评论 -
关于右值引用的一个错误。
关于右值引用的一个错误。原创 2015-04-22 17:08:17 · 2040 阅读 · 0 评论 -
小谈声明(Declaration)与定义(Definition)
小谈声明(Declaration)与定义(Definition) 声明(Declaration)用于说明每个标识符的含义,而并不需要为每个标识符预存储空间。预留存储空间的声明称为定义(Definition)。转载 2011-09-27 12:43:50 · 2515 阅读 · 0 评论 -
在code::block中创建console application
1. codeBlock 在XP2系统中2. 在桌面上有code::block图标3. 创建工程(1)依次点选 "File->new->project"(2)点选 "consol application"(3)点选 "next"(4)选择C程序,然后点"next"(5)在界面中,点第二个输入框后面三个点按钮,选择存放位置。(6)在"project title"下面的原创 2014-10-21 14:29:13 · 3248 阅读 · 0 评论 -
可视化的数据结构 - 各种算法动画演示
1.2. 很酷的各种排序演示:原创 2014-11-17 22:23:32 · 31185 阅读 · 0 评论 -
JAVA与C++两种语言的对比
“作为一名C++程序员,我们早已掌握了面向对象程序设计的基本概念,而且Java的语法无疑是非常熟悉的。事实上,Java本来就是从C++衍生出来的。”然而,C++和Java之间仍存在一些显著的差异。可以这样说,这些差异代表着技术的极大进步。一旦我们弄清楚了这些差异,就会理解为什转载 2011-09-28 22:43:59 · 2071 阅读 · 0 评论 -
C++多态技术
C++多态技术摘要本文描述了C++中的各种多态性。重点阐述了面向对象的动态多态和基于模板的静态多态,并初步探讨了两种技术的结合使用。要害词多态 继续 虚函数 模板 宏 函数重载 泛型编程 泛型模式 导言多态(polymorphism)一词最初来源于希腊语p转载 2011-09-27 11:51:50 · 615 阅读 · 0 评论 -
关于继承的一个问题
关于继承的一个问题(liupq 2009.12.5)下面程序中的f2()函数为什么是错误的:#include #include using namespace std;class abc{public:void f1(abc &a){a.n();}原创 2011-09-27 11:46:34 · 521 阅读 · 0 评论 -
如何使用DEV C++进行面向对象编程
如何使用DEV C++进行面向对象编程Liupq 2010-101.How can I create a Dev-C++ Project ?Go to the File menu and click on New, then Project. A dialog ope原创 2011-09-27 10:20:51 · 3836 阅读 · 0 评论 -
处理自定义消息
在VC中ClassWizard 可以像处理其它消息一样处理自定义的消息。 下面是增加自定义消息的步骤: 第一步:在应用程序中定义消息。开发Windows应用程序时,Microsoft推荐用户自定义消息的是WMUSER+100,因为很多新控件也要使用WM_USER消息。 第二步:实现消息处理函数。 LPESULT CMainFrame::OnMyMessage(WPAR原创 2004-12-21 15:35:00 · 2801 阅读 · 0 评论 -
C++中的const--C++系列文章(1)
(以下文中有来自对互联网内容的引用,在此作者对原作者表示感谢!--bigLeo)看到const 关键字,很多程序员想到的可能是const 常量,这可有点象踩到陷井上还不知道自己危险了。读读以下文字会使你对c++中的const有一个全面的认识。const 是C++中常用的类型修饰符,有某些微妙的应用场合,如果没有搞清本源,则错误在所难免。本篇中将对const进行辨析。溯其本源,究其实原创 2004-10-29 11:14:00 · 6223 阅读 · 2 评论 -
类成员函数的重载、覆盖和隐藏区别
类成员函数的重载、覆盖和隐藏区别成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2原创 2011-09-27 11:56:17 · 573 阅读 · 0 评论 -
构造函数析构函数为什么没有返回值?
构造函数析构函数为什么没有返回值? (Liupq 2008.5.10)构造函数和析构函数是两个非常特殊的函数:它们没有返回值.这与返回值为void的函数显然不同.后者虽然也不返回任何值,但还可以让它做点别的事情,而构造函数和析构函数则不允许.在程序中创建和消除一个对象的行为非常特殊,就像出生和死亡,而且总是由编译器来调用这些函数以确保它们被执行.如果它们有返回值,要么编译器必须知道如何处理返回值,...原创 2011-09-27 11:48:11 · 12662 阅读 · 2 评论 -
C++系列之:如何编写并使用一个类
(By LPQ 2007-05-23 09:27:30)编写并使用一个类最少要有三个文件:规格说明文件(specification file)、实现文件(imlementation file)、客户代码(client code)。下面以C++ Builder 6为例讲解如何编原创 2011-09-27 16:57:27 · 2006 阅读 · 0 评论 -
关于c++字符串的一个问题
关于c++字符串的一个问题(liupq 2009.11.19)问题: s="C++ is great fun!"+'\n';cout以上语句的输出是什么:答案:at fun解释:一个字符串常量像"abcd" 它是一个指针常量,表示指向这个字符串的首原创 2011-09-27 11:47:08 · 1023 阅读 · 0 评论 -
C++系列文章:读入一个整数时输入一个浮点数会有什么后果?(2007-04-25 09:33:53)
#include "iostream"using namespace std;int main(int argc, char* argv[]){ int i,j; cin>>i; cout exit( -1 );}作为其他的选择方案原创 2011-10-14 21:11:41 · 1696 阅读 · 0 评论 -
头文件之惑 C++系列(2)(2006-11-21 10:16:17)
===============C++学习指导系列文章(2)===============***为了帮助大家学习C++,所以着手撰写系列文章,希望对大家有所帮助。有不当之处,也希望大家提建议。***Bigleo 2006.11头文件之惑安装好VC原创 2011-10-14 21:16:18 · 910 阅读 · 0 评论
分享