首页 > 编程语言 >大规模C++程序设计 -- 基础知识

大规模C++程序设计 -- 基础知识

时间:2024-03-15 19:22:35浏览次数:27  
标签:文件 定义 -- 程序 C++ 基础知识 一个 声明

基础知识
我们先回顾C++程序语言和面向对象分析的一些重要的方面,这些知识对于大型系统设计来说是基本的。

我们仔细分析多文件程序、声明与定义,以及在头文件和实现文件上下文中的内部链接和外部链接,然后研究typedef和assert的使用。

多文件C++程序
对于所有的(除了最小的)程序来说,将这个歌程序都放在单个文件中既不明智也不实用。首先,每次修改程序的任何部分,都必须重新编译整个程序。也不能再另一个程序中重用这个程序的一部分,除非把源码拷贝给另一个文件。这种复制很快就会成为难以维护的代码。

把一个程序中紧密关联的各部分源代码分别放在单独的文件中,可以使程序更有效的编译,同时也可以使它局部能够在其他程序中重用

声明与定义
一个声明就是一个定义,除非:

它声明了一个没有详细说明函数体的函数
它包含一个extern定义符并且没有初始化函数数或者函数体
它是一个包含在一个类定义之内的静态数据成员的声明
他是一个类名声明
他是一个typedef声明
一个定义就是一个声明,除非:

它定义个了一个静态类数据成员
它定义了一个非内联成员函数
一个声明将一个名称引入一个程序;一个定义提供了一个实体在一个程序中的唯一描述

以下代码都是声明,可以重复,编译时候不会报错:https://tv.91doutu.com/guocanju/yiaiweiying2023/

标签:文件,定义,--,程序,C++,基础知识,一个,声明
From: https://www.cnblogs.com/EQWE/p/18076084

相关文章

  • Qt QtCharts给QChartView换肤,换背景色添加背景图片
    换色setBackgroundBrush这种接口可以设置QChartView背景色首先,给QChart类去掉背景渲染:换肤1QChart*chart=newQChart();2chart->setTheme(QChart::ChartThemeLight);这里chart是你自检的chart进入枚举一共有多个,可以自己看下,那个更适合。换背景下面展示一些内联......
  • C语言实验1
    #include<stdio.h>#include<stdlib.h>intmain(){printf("o\n");printf("<H>\n");printf("II\n");printf("o\n");printf("<H>\n");printf("II\......
  • snowflake算法时钟回拨问题: 基于逻辑时钟解决方案
    snowflake算法时钟回拨问题:基于逻辑时钟解决方案问题时间的生成完全依赖于本地时钟,在开启NTP协议的情况下,可能出现时钟回拨现象,此时服务不可用为了防止ID被顺序破解,通常自增值不会递增1,可以更加随机的添加递增值解决方案我们需要知道,时钟回拨问题是一个对......
  • 变更数据捕获(CDC)工具综述
    变更数据捕获(ChangeDataCapture,CDC)是一种技术,用于实时捕获数据库中的变更(如插入、更新和删除操作),并将这些变更同步到其他数据库或数据仓库中,从而保持数据环境的一致性和实时性。CDC技术对于实现实时数据分析、数据集成、数据复制和备份等场景至关重要。本文将介绍当前市场上一......
  • Qt Charts 自定义样式
    QtCharts是Qt框架中用于创建图表和图形可视化的模块,它提供了一些内置的图表类型,如折线图、柱状图、饼图等。如果你想要自定义QtCharts中图表的样式,你可以使用一些方法来实现。以下是一些自定义QtCharts样式的方法:1、使用QChart的样式属性: QtCharts中的QChart类具有许多属性......
  • QT QChart去掉边缘区域
     QChart默认会留白、端点处圆形化处理,需要人手修改1chart->layout()->setContentsMargins(0,0,0,0);2chart->setBackgroundRoundness(0); 修改后的效果......
  • Hbuilder的快捷键(至少要将最常见快捷键按里面的记熟哦):
     一、最常用快捷键新建:ctrl+N撤销:Ctrl+Z恢复:Ctrl+Y全选:Ctrl+A复制选区或光标所在行:Ctrl+C剪切选区或光标所在行:Ctrl+X粘贴:Ctrl+V关闭当前文件:ctrl+w删除当前行:Ctrl+D放大字体:Ctrl+Shift+=减小字体:Ctrl+-运行到浏览......
  • L2-013 红色警报
    判断图的连通性三种做法,dfs,bfs,并查集。本题dfs。edges为可达矩阵,若i能够到达j,则edges[i][j]=1且edges[j][i]=0反之为0,因为是无向图,所以两个都要存。一开始出了点问题,我在删除那个节点之后,将edges[i][j]置为0,但是没将edges[j][i]=0,郁闷半天...#include<bits/stdc++.h>usin......
  • 谢老师2024春 - Day2:期望DP
    Day2:期望DP​​A-CF148DBagofmice设\(dp_{i,j}\)表示还剩下\(i\)只白鼠,\(j\)只黑鼠A的胜率。大家都没有拿到白鼠,那么B赢,\(dp_{0,0}=0\)​。没有白鼠了,那么B赢,\(dp_{0,j}=0\)。全是白鼠了,那么A赢(A先抓),\(dp_{i,0}=1\)​。然后转移,有这几种情况:第一次就......
  • Qt QToolButton设置icon与字体居中
    目的设置QToolButtonicon与字体居中显示,网上有挺多文章说明的,有些我设置了无效,我亲自测试了下,如下是有效果的1QToolButton{2color:#b9b9b9;3font-size:12px;4font-weight:normal;5border:2pxsolid#b9b9b9;6border-ra......