C++学习笔记

一、开题

        ①:#define dPS struct s *

        ②:typedef struct s * tPS;

        这两种情况都是要定义dPS和tPS作为一个指向结构s的指针,请问哪种方法更好?

        答:第二种方法更好,因为第一种方法是在编译器进行预处理将所有dPS直接替换为struct s *这样做会有风险,例如我想要定义三个指向结构体s的指针变量,如dPS a, b, c;这样写,在预处理完成后,我将得到struct s *a, b, c;这是一个指向结构体s的指针变量和两个结构体,与我原来的预期不相符,而第二种方式,是帮助我给struct s *取了一个别名,可以避免上述情况的发生。

----------------------------------------------------------------------------------        

typedef、define

----------------------------------------------------------------------------------     

二、温故知新

        1、static

            在C++中,使用static关键字修饰类的成员变量,叫做静态的成员变量

                特点:该类的所有成员都可以使用

                要求:需要在类的外部进行初始化

            在C++中,使用static关键字修饰类的成员函数,叫做静态的成员函数

                特点:只能访问静态的成员变量,并且没有this指针

            总结:

                【1】静态成员变量是所有对象的公有属性

                【2】一定要在类的外部进行初始化

                【3】在初始化的时候不需要加static关键字,static关键字只出现在声明中

                【4】静态成员函数只可以访问静态成员

            静态的成员函数与普通的成员函数的区别:

                【1】静态成员函数没有this指针,只能访问静态成员(静态成员变量和静态成员函数)

                【2】普通成员函数有this指针,可以访问类中的任意成员

        2、const

            总结:

                【1】如果const关键字修饰的是成员函数,则称为常函数,常函数不会修改成员变量的值。

                【2】如果const关键字修饰的是对象,则称为常对象,常对象只能访问常函数。 

        3、友元函数和友元类

                关键字:friend

                1)友元函数

                    类以外的函数如果想要访问类内部的成员变量,我们可以在函数声明的时候加入关键字:friend

                    注意:友元函数是定义在类外部的普通函数,但是友元函数需要在类内进行声明。   

                2)友元类

               

相关推荐

  1. c++模板学习笔记

    2024-07-12 06:22:05       44 阅读
  2. C++学习笔记(十)

    2024-07-12 06:22:05       48 阅读
  3. C++学习笔记01

    2024-07-12 06:22:05       53 阅读
  4. C#学习笔记

    2024-07-12 06:22:05       56 阅读
  5. c# 学习笔记 - LINQ

    2024-07-12 06:22:05       55 阅读
  6. c++11学习笔记

    2024-07-12 06:22:05       68 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 06:22:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 06:22:05       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 06:22:05       58 阅读
  4. Python语言-面向对象

    2024-07-12 06:22:05       69 阅读

热门阅读

  1. Spring AOP 使用方式

    2024-07-12 06:22:05       29 阅读
  2. filex容错模块(掉电安全)

    2024-07-12 06:22:05       27 阅读
  3. HashMap源码解析

    2024-07-12 06:22:05       29 阅读
  4. 开发一个HTTP模块

    2024-07-12 06:22:05       22 阅读
  5. vscode gitee问题

    2024-07-12 06:22:05       25 阅读
  6. DBA 数据库管理 . 内连接.外链接

    2024-07-12 06:22:05       22 阅读
  7. CentOS搭建FTP服务器教程

    2024-07-12 06:22:05       26 阅读
  8. 自动优化:SQL Server数据库自动收缩配置指南

    2024-07-12 06:22:05       26 阅读
  9. 数据结构第20节 快速排序以及优化

    2024-07-12 06:22:05       27 阅读