多次使用相同的 C++ 访问说明符

2024-01-10

当下一行就在其正下方或下方几行时,一遍又一遍地声明多个“公共”说明符的目的是什么?我可以理解,当代码修改某些标识符的属性时,即隐藏在宏中的标识符的属性(因此更改宏内的访问属性,因此我们需要“重新定义”从宏中出来),或者当每个访问说明符部分有许多标识符时。但一遍又一遍地使用“公共”、“公共”的目的是什么呢?

Code ...

class CDrawMFCView : public CView
{
protected: // create from serialization only
    CDrawMFCView();
    DECLARE_DYNCREATE(CDrawMFCView)

// Attributes
public:
    CDrawMFCDoc* GetDocument() const;

// Operations
public:

// Overrides
public:
    virtual void OnDraw(CDC* pDC);  // overridden to draw this view
    virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
  // etc.,

};

对于初学者来说,现在的代码并不重要,这是必要的,因为代码部分可能:

  • 变得更长
  • 剪切并粘贴到不同的顺序,甚至粘贴到不同的类中,或者复制到新的类中
  • 让某些部分更改访问说明符,而不改变前一个或后一个部分

如果您依赖的部分与上一节具有相同的访问规范,那么当代码更改时,您(或者六个月后的您或其他人)常常会忘记更改它,然后代码就会出错。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多次使用相同的 C++ 访问说明符 的相关文章

  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么

随机推荐

  • 防止 bitbucket-pipelines.yml 更新时触发 bitbucket 管道

    我是位桶管道的新手 我已经添加到我的节点项目bitbucket pipelines yml在管道中 我有一个步骤是构建容器并将其推送到 ECR 另一个步骤是部署 现在 每次我对 bitbucket pipelines yml 进行更改时 它
  • 特别是在 Android Q Pixel 3 和 3 XL 设备上的 BufferQueueProducer 问题。模拟器工作正常

    我正在使用表面纹理视图来显示视频 这些视频显示在轮播中 轮播本质上是一个视图寻呼机 我已经尝试过释放表面上的表面视图被破坏 但没有帮助 重写 fun onSurfaceTextureDestroyed surface SurfaceText
  • 如何从java字符串中删除无效的unicode字符

    我正在使用CoreNLP 神经网络依存解析器 http nlp stanford edu software lex parser shtml Download解析一些社交媒体内容 不幸的是 该文件包含的字符 根据文件格式信息 http ww
  • 如何在 Swift 3 中使 UITableView 清晰(透明)

    我该怎么做这个UITableView在 Swift 3 中它的单元格是清晰的 我已经浏览了之前的线程 但仍然得到白色背景 正如您从我的代码中看到的 我尝试了提到的各种方法 override func viewDidLoad self com
  • ValueError:样本大于从图中选择样本的总体

    我正在尝试从图中随机选择 n 个样本 为此 我使用 random sample 函数创建一个名为 X 的列表 如下所示 X random sample range graph ecount numPosSamples 问题是 当 numPo
  • 更改powershell命令颜色

    如何更改 powershell 中的命令颜色 目前它是黄色的 当我使用嵌套在 Intellij 中的 powershell 时 我无法读取白色背景上的黄色命令 关于 LotPings 的回答 我解决了我的问题 powershell 中的以下
  • 在项目反应器中包装阻塞 I/O

    我有一个 spring webflux API 它在服务层需要从使用 JDBC 的现有存储库中读取 在阅读了有关该主题的一些内容后 我希望将阻塞数据库调用的执行与其余非阻塞异步代码分开 我定义了一个专用的jdbcScheduler Bean
  • 从 S3 存储桶中的文件夹中删除文件

    我有一个 AWS S3 存储桶test bucket with a data文件夹 数据文件夹将包含多个文件 我可以删除 S3 存储桶中的文件 但我想要的是删除其中的文件data文件夹 而不删除该文件夹 我尝试了以下方法 aws s3 rm
  • 尝试调用 ShellExecute 来运行 Mysql 和 sql 脚本

    我一直在尝试在 Delphi 应用程序中使用 ShellExecute 打开 Mysql 并运行脚本 ShellExecute Handle open PWideChar InpCommandProgram text PWideChar c
  • Asp.Net MVC - 所有控制器的通用数据

    设置 使用 Asp Net MVC 2 RC 实体框架 SQL Server VS2008 我和我的朋友正在开发一个项目 该项目将有不同的领域指向它 我们希望从请求中获取域 网站 并使用它来驱动数据 该网站数据需要成为所有控制器的一部分 前
  • Ionic Android 构建:java.lang.IllegalStateException:未指定 buildToolsVersion

    从今天起 不知何故 我的离子项目由于某种原因不再能够构建 我已经尝试删除该平台并再次添加 但没有成功 我现在几乎花了三个时间来升级 降级和重新安装 cordova 和 ionic 但由于某种原因 当我尝试构建 Android 版本时 我总是
  • xcode swift admob 不在模拟器上显示实时广告

    我之前已经在 Android 应用程序上实现了 AdMob 除非我指定 Android 模拟器将显示实时广告的测试广告 IBOutlet 弱变量bannerView GADBannerView Display Ads self banner
  • WorkManager 现有工作策略 APPEND_OR_REPLACE 未按预期运行

    我目前正在使用CoroutineWorker from androidx work work runtime ktx 2 5 0 我想要实现的是 将工人排队beginUniqueWork和一样uniqueWorkName 有政策Existi
  • 如何在 Swift 中解开任意深度嵌套的选项?

    作为 Swift 中的练习 我正在尝试编写一个扩展方法 该方法将解开任意深度嵌套的选项 这几乎没有什么实际用途 只是对 Swift 类型系统的探索 任意深度嵌套选项的示例是Optional
  • Awk 新手。与负数格式作斗争

    目标 仅输出大于 1 且小于 1 的数据 or 输出1到 1之间的数据 我有 awk 的基础知识 可以打印第 2 列 我的数据所在的位置 注意我还指定了0 1的范围 awk 0 1 print 2 test dat 我还需要行号 所以我添加
  • 如何在 php 中导入 iCloud 联系人

    如何使用 iCloud API 或使用 PHP 作为服务器端语言的任何其他方法从 iCloud 导入联系人 我知道 iCloud 支持 cardDav 我们可以通过它导入 iCloud 联系人 但是如何导入呢 这对我来说仍然是一个问题 如果
  • 如何在Python中的一行中放置多个导入

    我的问题是关于如何在一行中放置多个导入 from sys import argv from os path import exists 我们能否将上述语句修改为如下所示的单个语句 from sys os path import argv e
  • 跨 WP8 和 Win8 识别用户:ANID2 与 SafeCustomerId

    我们有一个 Web 服务 需要跨设备 wp8 和 win8 识别用户 在电话方面我们有UserExtendedProperties GetValue ANID2 其中获取的是匿名 Microsoft ID 在Windows8上有Online
  • 在 Roxygen2 中导出数据,以便无需 data() 即可使用它们

    阅读完诸如此类的问题后这个关于使用 Roxygen 记录数据集的问题 https stackoverflow com questions 9561684 documenting dataset with roxygen2我已经成功记录了一个
  • 多次使用相同的 C++ 访问说明符

    当下一行就在其正下方或下方几行时 一遍又一遍地声明多个 公共 说明符的目的是什么 我可以理解 当代码修改某些标识符的属性时 即隐藏在宏中的标识符的属性 因此更改宏内的访问属性 因此我们需要 重新定义 从宏中出来 或者当每个访问说明符部分有许