当前位置: 首页 > news >正文

c++ 写成.h .cpp main.cpp 多文件形式

1 .h 声明方法/函数 用于连接定义和实例使用

// max.h
#ifndef MAX_H
#define MAX_Hint max(int a, int b);#endif
/*
在#ifndef和#define中使用的MAX_H就是指的max.h这个头文件的名字。具体来说,#ifndef MAX_H中MAX_H代表了max.h这个头文件的一个唯一的标识符。#define MAX_H则是在第一次包含这个头文件时定义这个标识符。
*//*
#pragma once 指令不是 #ifndef 和 #endif 指令的优化版本。#pragma once 指令是编译器指令,而 #ifndef 和 #endif 指令是预处理器指令。编译器指令由编译器处理,而预处理器指令由预处理器处理。预处理器是将源代码转换为编译器可以处理的形式的程序。#pragma once 指令比 #ifndef 和 #endif 指令更高效,因为它不需要编译器每次都检查头文件的内容。然而,#pragma once 指令不如 #ifndef 和 #endif 指令灵活,因为它只能用于确保一个头文件在程序中只被包含一次。一般来说,当只需要确保一个头文件在程序中只被包含一次时,应使用 #pragma once 指令。当需要根据多种条件有条件地包含或排除代码时,应使用 #ifndef 和 #endif 指令。
*/

2 .cpp 定义方法/编写功能 用.h关联

// max.cpp
#include "max.h"int max(int a, int b) {int max = a > b ? a : b;return max;
}

3 main.cpp 实例使用 .cpp定义的方法 用.h关联

// main.cpp
#include <iostream>
#include "max.h"
using namespace std;int main()
{std::cout << "Hello World!\n";int a = 1;int b = 2;cout << max(a, b) << endl;}

相关文章:

c++ 写成.h .cpp main.cpp 多文件形式

1 .h 声明方法/函数 用于连接定义和实例使用 // max.h #ifndef MAX_H #define MAX_Hint max(int a, int b);#endif /* 在#ifndef和#define中使用的MAX_H就是指的max.h这个头文件的名字。具体来说,#ifndef MAX_H中MAX_H代表了max.h这个头文件的一个唯一的标识符。#define MAX_H…...

组合总和(回溯)

题目描述 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 样例输入 示例 1: 输入: k 3, n 7 …...

【代码】微电网两阶段鲁棒优化经济调度方法(完美复现)matlab-yalmip-cplex/gurobi

程序名称&#xff1a;两阶段鲁棒优化—微电网两阶段鲁棒优化经济调度方法_刘一欣 实现平台&#xff1a;matlab-yalmip-cplex/gurobi 简介&#xff1a;针对微电网内可再生能源和负荷的不确定性&#xff0c;建立了 min-max-min 结构的两阶段鲁棒优化模型&#xff0c;可得到最恶…...

关于无线测温系统在海上石油平台的应用探讨-安科瑞 蒋静

摘要&#xff1a;海上石油平台的封闭式中高压配电盘在平台电力系统起着十分重要的作用&#xff0c;通过统计其配电盘的 大部分故障为前期的热效应引起&#xff0c;由于配电盘内部空间封闭狭小&#xff0c;所以无法进行人工巡查测温&#xff0c;这给油田的供电系统埋下了一定的潜…...

CSS 滚动捕获 scroll-padding

scroll-padding 非滚动捕获容器滚动捕获容器语法兼容性 CSS 滚动捕获 scroll-padding 设置元素的滚动内边距, 就像 padding 所做的那样. 但并不影响布局. 非滚动捕获容器 我们先来看看不影响布局到底是什么意思. 我们平时会见到左侧是内容, 右侧是内容导航的页面, 比如下图 这…...

asp.net core webpi 结合jwt实现登录鉴权

1.安装jwt nuget包 <PackageReference Include"Microsoft.AspNetCore.Authentication.JwtBearer" Version"6.0.25" /><PackageReference Include"System.IdentityModel.Tokens.Jwt" Version"7.0.3" />1.1创建jwt配置类 n…...

【香橙派】实战记录2——烧录安卓镜像及基本功能

文章目录 一、安卓烧录二、安卓基本功能1、蓝牙2、相机功能3、投屏 一、安卓烧录 检查环境&#xff1a;检查PC系统&#xff0c;确保有Microsoft Visual C 2008 Redistrbutable - x86&#xff0c;否则在官网下载的官方工具 - 安卓镜像烧录工具里运行vcredist_x86.exe。 插入存储…...

【spring(六)】WebSocket网络传输协议

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 核心概要&#xff1a; 概念介绍&#xff1a; 对比HTTP协议&#xff1a;⭐ WebSocket入门案例&#xff1a;⭐ 核心概要&#xff1a; websocket对比http 概念介绍&#xff1a; WebSocket是Web服务器的一个组件…...

MidJourney笔记(6)-Niji模式

Niji模式 回顾一下,在讲解settings命令时,我们可以看到一个Niji字眼。 而且是在Midjourney V4之后才有的,那Niji到底是什么? Niji是MidJourney中用于绘制二次元/动漫风格的模型,那Niji的V4和V5有什么区别呢?...

Linux命令(139)之ab

linux命令之ab 1.ab介绍 linux命令ab(E.g:apachebench)是apache自带的压力测试工具。ab命令会创建多个并发访问线程&#xff0c;模拟多个访问者同时对某一URL进行访问。由于ab命令测试是基于URL的&#xff0c;因此&#xff0c;它既可以用来测试apache httpd的负载压力&#x…...

笔记----单纯剖分----1

笔记----单纯剖分 定义 线性组合仿射组合&#xff1a; 线性组合的系数为1凸组合&#xff1a; 仿射组合所有的系数都是正数 凸集 R^m 的 任意有限个点的凸组合仍在其中的子集仿射子空间 R^m 的 任意有限个点的仿射组合仍在其中的子集凸包 conv(A) A是R^m的一个子集 A的所有有限凸…...

mybatis源码(五)springboot pagehelper实现查询分页

1、背景 springboot的pagehelper插件能够实现对mybatis查询的分页管理&#xff0c;而且在使用时只需要提前声明即可&#xff0c;不需要修改已有的查询语句。使用如下&#xff1a; 之前对这个功能一直很感兴趣&#xff0c;但是一直没完整看过&#xff0c;今天准备详细梳理下。按…...

【BUG】SpringBoot项目Long类型数据返回前端精度丢失问题

问题描述 后端再给前端返回数据&#xff0c;使用Long类型的时候存在精度丢失问题。 原因分析&#xff1a; 分布式项目中广泛使用雪花算法生成ID作为数据库表的主键&#xff0c;Long类型的雪花ID有19位&#xff0c;而前端接收Long类型用的是number类型&#xff0c;但是number…...

UI自动化Selenium find_elements和find_element的区别

# 如果获取的element是list&#xff0c;那么需要用find_elements方法&#xff1b;此方法会返回list&#xff0c;然后使用len() 方法&#xff0c;计算对象的个数&#xff1b; # find_element方法返回的不是list对象&#xff0c;所以导致没办法计算对象个数 # 1.返回值类型不同…...

【Android】Window和WindowManager

文章目录 理解Window和WindowManagerWindow和WindowManagerWindow的内部机制Window的添加过程Window的删除过程Window的更新过程 Window的创建过程Activity的Window创建过程Dialog的Window创建过程Toast的Window创建过程 理解Window和WindowManager Window是一个抽象类&#xf…...

如何解决 Python ModuleNotFoundError 错误

模块对于开发 Python 程序很重要。 使用模块&#xff0c;我们可以分离代码库的不同部分以便于管理。 使用模块时&#xff0c;了解它们的工作方式以及如何将它们导入我们的代码非常重要。 如果没有这种理解或错误&#xff0c;我们可能会遇到不同的错误。 此类错误的一个示例是…...

Day62.算法训练

718. 最长重复子数组 class Solution {public int findLength(int[] nums1, int[] nums2) {int max 0;int[][] dp new int[nums1.length][nums2.length];for (int i 0; i < nums1.length; i) {for (int j 0; j < nums2.length; j) {if (nums1[i] nums2[j]) {if (i …...

Linux smbd命令教程:如何配置和管理Samba服务器(附案例详解和注意事项)

Linux smbd命令介绍 smbd是Samba套件的一部分。smbd是一个服务器守护进程&#xff0c;为Windows客户端提供文件共享和打印服务。服务器使用SMB&#xff08;或CIFS&#xff09;协议为客户端提供文件空间和打印服务。这与LanManager协议兼容&#xff0c;可以为LanManager客户端提…...

音视频学习(十九)——rtsp收流(tcp方式)

前言 本文主要介绍以tcp方式实现rtsp拉流。 流程图 流程说明: 客户端发起tcp请求&#xff0c;如向真实相机设备请求&#xff0c;端口一般默认554&#xff1b;tcp连接成功&#xff0c;客户端与服务端开始rtsp信令交互&#xff1b;客户端收到play命令响应后&#xff0c;开启线…...

LangChain(0.0.340)官方文档三:Prompts上——自定义提示模板、使用实时特征或少量示例创建提示模板

文章目录 一、 Prompt templates1.1 langchain_core.prompts1.2 PromptTemplate1.2.1 简介1.2.2 ICEL1.2.3 Validate template 1.3 ChatPromptTemplate1.3.1 使用role创建1.3.2 使用MessagePromptTemplate创建1.3.3 自定义MessagePromptTemplate1.3.3.1 自定义消息角色名1.3.3.…...

提升无线传输性能:手把手教你优化Si4463的Data Rate配置与SPI通信稳定性

突破Si4463无线传输瓶颈&#xff1a;从寄存器配置到SPI时序的全链路优化实战 当你的无线模块能够通信但性能不尽如人意时&#xff0c;就像驾驶一辆引擎未调校的跑车——它能跑&#xff0c;但永远达不到理想的极速。Si4463作为工业级无线收发芯片&#xff0c;其默认配置往往无法…...

OpenClaw+千问3.5-35B-A3B-FP8:个人知识库自动化更新系统

OpenClaw千问3.5-35B-A3B-FP8&#xff1a;个人知识库自动化更新系统 1. 为什么需要自动化知识库更新 作为一个长期依赖个人知识库的技术写作者&#xff0c;我深刻体会到手动维护知识库的痛点。每当遇到新资料&#xff0c;我需要经历"阅读→摘录→分类→归档"的全流…...

7个Live-Charts单元测试实战技巧:确保图表组件稳定运行的完整指南

7个Live-Charts单元测试实战技巧&#xff1a;确保图表组件稳定运行的完整指南 【免费下载链接】Live-Charts Simple, flexible, interactive & powerful charts, maps and gauges for .Net 项目地址: https://gitcode.com/gh_mirrors/li/Live-Charts Live-Charts是一…...

LPS331AP SPI嵌入式驱动库:Mbed平台高精度气压温度传感器底层控制

1. LPS331AP_SPI 库概述LPS331AP_SPI 是一个专为 Mbed OS 平台设计的轻量级 SPI 驱动库&#xff0c;面向意法半导体&#xff08;STMicroelectronics&#xff09;推出的高精度数字气压/温度传感器 LPS331AP。该器件采用 MEMS 技术&#xff0c;集成压力传感单元与温度传感单元&am…...

拆解中金2025财报:飞轮效应,如何驱动高质量增长?

2025年的中国资本市场&#xff0c;有三条主线在交汇&#xff1a;创新驱动、资本市场深化改革、个人养老金全面推开。它们分别指向一家投行必须具备的三种能力——资产端的挖掘、交易端的兑现、资金端的配置。 与此同时&#xff0c;证券行业正在经历一场无声的洗牌。牌照红利在…...

(五)数据仓库越做越乱?问题可能出在“命名”上

数据仓库做大之后&#xff0c;最先“失控”的往往不是数据&#xff0c;而是命名。命名规范看似细节&#xff0c;却直接决定了数据是否好找、好用、好维护。 作为数据湖仓设计与实践系列文章第 5 篇&#xff0c;本文从实际使用出发&#xff0c;梳理了表与字段命名的核心方法&am…...

【深伪检测】论文整体调研与梳理方法

一、单篇论文精读&#xff1a;抓核心信息&#xff08;先“拆”后“懂”&#xff09; 每篇论文都要完成「标题→摘要→引言→方法→实验→相关工作」的递进式阅读&#xff0c;目的是精准捕捉“这篇论文在解决什么问题、用了什么方法、做出了什么贡献”。标题摘要&#xff08;10分…...

**发散创新:基于Python与OpenCV的智能交通流量实时监测系统设计

发散创新&#xff1a;基于Python与OpenCV的智能交通流量实时监测系统设计与实现 在智慧城市建设不断深化的背景下&#xff0c;智能交通系统&#xff08;ITS&#xff09; 正成为城市治理现代化的重要突破口。传统的交通信号控制多依赖固定时长或人工经验判断&#xff0c;难以应对…...

热传导方程在工程仿真中就像老朋友的聚会——大家总得找个方式坐下来聊聊温度怎么传。今天咱们用MATLAB折腾几个一维和二维的导热算例,顺便聊聊不同计算格式的脾气

【MATLAB各种计算格式的一维/二维导热算例】 1. 一维下的全显格式&#xff0c;全隐格式&#xff0c;半隐格式的导热算例 2.二维下的全显格式&#xff0c;全隐格式&#xff0c;隐式格式ADI迭代&#xff0c;隐式格式点迭代&#xff0c;隐式格式高斯-赛德点迭代&#xff08;GS&…...

InnoDB REDO LOG 详解:从原理到实现(基于 MySQL 8.0)

在现代关系型数据库系统中&#xff0c;事务的 持久性&#xff08;Durability&#xff09;是 ACID 特性的关键一环。为了在系统崩溃后仍能恢复数据一致性&#xff0c;InnoDB 引擎引入了 REDO LOG&#xff08;重做日志&#xff09;机制。 本文将深入剖析 REDO LOG 的作用、设计思…...