西工大《C++程序设计》——(四)

第20讲:动态内存分配

  1. 【静态内存分配】:编译时即确定并分配内存。
  2. 【动态内存分配】:程序运行期间按需分配内存。
  3. new,delete运算符举例:
int *p1, *p2;
char *pc1, *pc2;
p1 = new int;
p2 = new int(2);	// 动态分配内存的同时初始化
pc1 = new char[50];	// 动态分配一个一维字符数组的内存空间
pc2 = new char[5][50];	// 二维字符数组空间
delete p1;
delete [] pc1;	// 释放一维数组的内存空间
  1. 在被调函数中返回动态分配内存的指针是有意义的,因为它与被调函数的局部变量不同,是分配在内存堆区的。
  2. 多维数组的动态分配按一维数组的方式来。

第21讲:自定义结构类型

  1. 结构体类型标识符为类型名,而非实体,可用它来实例化。
  2. 结构体对象可进行整体赋值运算,但不能进行其他整体运算。
  3. 【结构体与数组、指针、函数】:用指针引用结构体对象的成员有两种方法(*p).memberp->member
  4. typedef的使用。

第22讲:自定义数据结构——链表

第23讲:预处理命令

  1. C++的源程序中允许用标识符代表一个字符文本,称为宏。预处理器将用相应的字符文本简单地替换宏。
  2. 【带参宏】:
  • #运算符可将宏参数“字符串化”:
#include<iostream>
#include<stdio.h>
using namespace std;
#define P1(x) printf(#x)
#define P2(x) printf(x)
int main(){
    P1(hello world);	// 正确
    P1("hello world");	// 正确
    P2(hello world);	// 错误
    P2("hello world");	// 正确
    
    return 0;
}

  • ##运算符可将多个宏参数或字符文本连接起来,宏参数先字符串化再连接。
#define SET1(arg) A##arg=arg
#define SET2(arg) Aarg=arg
SET(1);	// 替换为A1=1
SET(2);	// 替换为Aarg=2
  1. 【文件包含命令】:include <...>include "...",其中头文件名可为绝对路径或相对路径形式,相对路径相对的是编译器系统文件目录或用户工程目录。
  2. 【条件编译】:
4.1 #ifdef条件编译命令:测试条件字段是否已定义
#ifdef
	...
#endif
//**********//
#ifdef
	...
#else
	...
#endif
4.2 #if条件编译命令:根据常量表达式的值来选择编译
#if 	...
	......	// 1段
#elseif ...
	......	// 2段
#else
	......	// 3段
#endif
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++程序设计课程配套课件,西北工业大学-中国大学mooc平台课程,PPT很不错。 程序设计课程是大学计算机基础教育和计算机科学与技术专业基础的核心课程,是数据结构、算法设计、数学建模、软件技术等课程的前导课程。程序设计课程的教学目标是使学生能够使用一种开发工具熟练的进行软件开发,为学生将来的创新实验、毕业设计、科学研究提供了有力的技术支持。 C++是国内外广泛使用的计算机程序设计语言。其功能强大、面向对象、数据表示丰富、代码运行效率高、可移植性好,适合编写系统软件和各类应用程序。在TIOBE排行榜上,C++语言多年来始终处于前五位。学习程序设计C++入手,对于培养利用计算机求解现实问题的计算思维能力具有其他语言无法比拟的有点。且在完全掌握了C++语言之后,再学习其他程序设计语言就会轻车熟路了。 C是C++的子集,因此在C++的授课中,有至少一半的内容是和C语言一样的。而国内C++程序设计课程的学时普遍较少,且讲授的重点一般都放在和C重叠的那一部分。对于C++比C多出来的内容往往只介绍类、继承等基本概念,而对于重载、多态、异常处理、数据流等内容言之甚少。本课程即针对这一问题,增加了C++独有的内容的比重,不但适用于在校大学生,且适用于工作中使用C++进行软件开发的人。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值