高质量C++编程
一、请填写 BOOL , float, 指针变量 与“零值”比较的 if 语句。#include iostream using namespace std; int main() { //BOOL flag 与“零值”比较 //if ( flag ) //if ( !flag ) //float x 与“零值”比较 //const float EPSINON 0.00001; //if ((x -EPSINON) (x EPSINON) //char* p 与“零值”比较 //if (p NULL) //if (p ! NULL) return 0; }二、以下为 Windows NT 下的 32 位 C程序请计算 sizeof 的值#include iostream using namespace std; int main() { //char str[] “Hello”; //char* p str; //int n 10; //请计算 // sizeof(str) 6 //5个字符 1个结束符\0 6 // sizeof(p) 4 //指针变量占4个字节 // sizeof(n) 4 //整数变量占4个字节 // void Func(char str[100]) //{ // 请计算 // sizeof(str) 4 // 指针变量占4个字节 //} //void* p malloc(100); //请计算 // sizeof(p) 4 //指针变量占4个字节 return 0; }三、头文件中的 ifndef/define/endif 干什么用// 第一步定义唯一的宏名通常是 头文件名大写 下划线避免冲突 #ifndef STUDENT_H_ // 如果 STUDENT_H_ 未定义 #define STUDENT_H_ // 定义 STUDENT_H_ // 以下是头文件的核心内容 #include string // 嵌套的其他头文件 // 声明结构体 struct Student { int id; std::string name; int age; }; // 声明函数 void printStudent(const Student stu); #endif // 结束 STUDENT_H_ 的条件编译#include student.h // 第一次包含STUDENT_H_ 未定义 → 编译头文件内容 #include student.h // 第二次包含STUDENT_H_ 已定义 → 跳过内容无错误 #include iostream using namespace std; // 实现头文件声明的函数 void printStudent(const Student stu) { cout ID: stu.id , 姓名: stu.name , 年龄: stu.age endl; } int main() { Student stu {101, 张三, 20}; printStudent(stu); return 0; }四、#include 和 #include “filename.h” 有什么区别#include iostream // 找系统里的iostream写代码时必用的标准输入输出头文件 #include stdio.h // 找系统里的C语言标准输入输出头文件#include student.h // 先在当前项目文件夹找自己写的student.h找不到再去系统目录 #include utils.h // 同理优先找本地的工具类头文件五、在 C 程序中调用被 C 编译器编译后的函数为什么要加 extern “C”// calc.cC编译器编译 #include stdio.h int add(int a, int b) { return a b; }// main.cppC编译器编译 #include iostream // 不加extern CC会找_add_int_int但C编译的是_add链接报错 int add(int a, int b); int main() { std::cout add(1,2) std::endl; // 链接错误undefined reference to add(int, int) return 0; }// main.cpp正确写法 #include iostream // 告诉C按C规则找add函数 extern C { int add(int a, int b); } int main() { std::cout add(1,2) std::endl; // 输出3正常运行 return 0; }

相关新闻

圆盘形三维随机裂隙网络。 使用COMSOL with Matlab接口编程。 可以直接导入CO...

圆盘形三维随机裂隙网络。 使用COMSOL with Matlab接口编程。 可以直接导入CO...

圆盘形三维随机裂隙网络。 使用COMSOL with Matlab接口编程。 可以直接导入COMSOL中,无需CAD,无需提取数据,方便快捷可以直接计算。 裂隙由matlab编程生成,能够生成两组不同产状的裂隙。 裂隙长度的分布律可以为确定的裂隙长度&am…

2026/7/2 20:15:42 阅读更多 →
ROS文件解读(package .xml--CMakeLists.txt)

ROS文件解读(package .xml--CMakeLists.txt)

ROS Package(功能包)ROS Package 是 ROS 中最小的可编译 / 可运行单元,一个机器人功能(比如激光 SLAM、电机控制)通常对应一个或多个 Package。每个 Package 必须包含 package.xml(描述包的元信息&#xff…

2026/7/4 7:01:03 阅读更多 →
俩个信捷XD5E通过交换机以态网通信控制十几个轴,带信捷触摸屏程序,思路清晰,通俗易懂

俩个信捷XD5E通过交换机以态网通信控制十几个轴,带信捷触摸屏程序,思路清晰,通俗易懂

俩个信捷XD5E通过交换机以态网通信控制十几个轴,带信捷触摸屏程序,思路清晰,通俗易懂,是学习以态网通信的上佳范例最近在折腾工业自动化项目,发现用两台信捷XD5E PLC通过交换机控制十几个轴特别有意思。这种方案既经济…

2026/5/17 9:27:18 阅读更多 →

最新新闻

大模型开源项目安全审计实战:从Llama-recipes漏洞分析到安全开发流水线构建

大模型开源项目安全审计实战:从Llama-recipes漏洞分析到安全开发流水线构建

1. 项目概述:为什么开源项目也需要安全审计?最近在社区里看到不少朋友在讨论大模型应用开发,尤其是基于 Meta 的 Llama 系列模型进行微调和部署。Llama-recipes 作为 Meta 官方推出的一个工具集,提供了从数据准备、模型微调到部署…

2026/7/5 22:02:45 阅读更多 →
YOLOv12对抗性特征增强训练原理与实战

YOLOv12对抗性特征增强训练原理与实战

1. YOLOv12与对抗性特征增强训练的背景解析YOLOv12作为2025年发布的注意力中心型物体检测器,其核心创新在于区域注意力机制(Area Attention)和R-ELAN架构。与传统CNN-based的YOLO系列不同,YOLOv12通过将特征图划分为多个水平或垂直…

2026/7/5 22:00:45 阅读更多 →
PatchMatchStereo 与 SGM 性能对比:Middlebury数据集上的5项指标实测

PatchMatchStereo 与 SGM 性能对比:Middlebury数据集上的5项指标实测

PatchMatchStereo与SGM立体匹配算法深度评测:Middlebury数据集5维性能对比1. 立体匹配算法技术背景与评测意义立体匹配作为计算机视觉三维重建的核心环节,其算法选择直接影响深度估计的精度与效率。在众多经典算法中,基于倾斜支持窗口的Patch…

2026/7/5 22:00:45 阅读更多 →
Gobuster字典工程实战:从基础配置到分层扫描策略

Gobuster字典工程实战:从基础配置到分层扫描策略

1. 项目概述:为什么你的Gobuster总是“刮痧”? 如果你做过Web目录或子域名枚举,大概率用过Gobuster。这个用Go语言写的工具,速度快、资源占用低,是渗透测试和漏洞赏金猎人武器库里的常客。但很多人用起来总觉得差点意思…

2026/7/5 22:00:45 阅读更多 →
YOLO26目标检测优化:SOCA二阶通道注意力机制详解

YOLO26目标检测优化:SOCA二阶通道注意力机制详解

1. 项目概述在计算机视觉领域,目标检测一直是核心研究方向之一。YOLO系列算法因其出色的实时性和准确性,成为工业界和学术界广泛采用的主流框架。最近发布的YOLO26版本在检测精度和速度上都有了显著提升,但特征提取网络仍然存在优化空间。本文…

2026/7/5 21:58:44 阅读更多 →
计算机视觉中的目标跟踪技术:原理与应用

计算机视觉中的目标跟踪技术:原理与应用

1. 目标跟踪技术概述目标跟踪作为计算机视觉领域的核心技术之一,其核心任务是在连续的视频帧序列中持续定位并关联一个或多个特定目标。这项技术需要处理各种复杂场景,包括光照变化、目标遮挡、形态变化等挑战,最终输出目标的位置、运动轨迹和…

2026/7/5 21:58:44 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻