使用指令最佳实践[重复]

2024-01-08

有没有any以下功能或优化之间的区别?

// SomeClass.cpp
#include "SomeClass.h"
#include "SomeOtherClassInSomeClassNamespace.h"

using namespace SomeClassNamespace;

SomeClass::SomeClass() {}

void SomeClass::SomeFunc() 
{
    // uses some stuff in SomeClassNamespace not defined  in SomeClass.h
}

or

// SomeClass.cpp
#include "SomeClass.h"
#include "SomeOtherClassInSomeClassNamespace.h"

namespace SomeClassNamespace
{
    SomeClass::SomeClass() {}

    void SomeClass::SomeFunc() 
    {
        // uses some stuff in SomeClassNamespace not defined  in SomeClass.h
    }
}

以下之间有功能上的区别吗?

只要合并的作用域按预期解析,那么No.

以下之间有优化差异吗?

运行时或二进制大小?No.

如果你想build优化,然后将通过引入额外的复杂性using和/或重新打开命名空间。

我不使用前者,因为分辨率可能会出现问题。

我不使用后者,因为很容易得到新的声明。

我的使用方式:

namespace {
  // ... private stuff
}

SomeClassNamespace::SomeClass::SomeClass() {}
...

这有点冗长,但可以快速解析定义及其声明,减少冲突的机会,可以减少程序员错误,并且如果匿名命名空间中的定义最终被导出,则可以减少二进制大小(如果您也使用私有实现) 。当然,保留你的内心也是有意义的(“SomeClassNamespace 中的某些内容未在 SomeClass.h 中定义”)位于正确的命名空间中(假设它们在多个 TU 中使用)。

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

使用指令最佳实践[重复] 的相关文章

  • 向进度条添加百分比文本 C#

    我有一个方法可以显示进程栏何时正在执行以及何时成功完成 我工作得很好 但我想添加一个百分比 如果完成 则显示 100 如果卡在某个地方 则显示更少 我在网上做了一些研究 但我无法适应我正在寻找的解决方案 这是我的代码 private voi
  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 为什么极端下派生类(多重虚拟继承)的大小包括超类成员大小的两倍?

    include
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com
  • 当我使用 OpenSSL1.1.0g 根据固定的 p 和 g 值创建 Diffie Hellman 密钥协议密钥时,应该执行哪些检查?

    您好 我尝试通过这段代码使用修复 p 和 g 参数来制作 Diffie Hellman Keysanswer https stackoverflow com a 54538811 4706711 include

随机推荐

  • 如何指定绘图应转到哪个图形?

    我打开了多个图形 我想在运行时独立更新它们 下面的玩具示例应该可以阐明我的意图 clf figure name a and b a and b should be plotted to this window hold on ylim 10
  • 缩小浏览器时,响应式页脚显示在部分内容上

    我对 CSS 和 HTML 还很陌生 据我所知 这个问题已被问过多次 但我似乎无法解决当前的问题 我一直在从事一些小项目 比如尝试重新创建具有额外功能的其他网站 我当前的任务是重新创建一个首页搜索区域 例如 google 实施与发布 我一直
  • SharePoint:看不到任何筛选器 Web 部件

    在 Office 2007 官方网站中 有大量对筛选 Web 部件的引用 当我尝试添加其中之一时 Sharepoint 中的 Web 部件列表不显示任何筛选器 Web 部件 如果有人经历过相同的问题和任何解决方案 请发帖 Thanks 在
  • Perl 中美元符号和数字符号如何一起工作?

    今天遇到一个问题 要求我在perl中确定数组的最大索引 我曾经这样做过 my array 1 2 3 print array array 1 但今天我偶然发现了这段代码 my array 1 2 3 print array array 我在
  • 使用 xattr 设置 Mac OSX 隔离属性

    StackOverflow 和其他地方有很多关于如何清除 Mac 隔离属性的信息 就我而言 我想设置它 这是为了测试我的应用程序是否已正确签名 以便用户在下载后会收到 不受信任的开发人员 警告 我的应用程序特别大 我们从大文件下载网站分发
  • JTable 行标题文本

    有人可以告诉我是否有一种方法可以添加带有文本的行标题 或者也许有某种类型的技巧 这将允许我们做这样的事情 行标题是 one way https stackoverflow com a 8187799 714968 更好的方法 http ti
  • 如何抑制“void*”到“foo*”转换的警告(通过 -fpermissive 减少错误)

    我正在尝试用 g 编译一些 c 代码 是的 故意的 我收到如下错误 例如 error invalid conversion from void to unsigned char fpermissive adding fpermissive到
  • Material-UI 和 gatsby 官方示例

    我根据官方示例使用 gatsby 和 Material UI 我想知道是否必须添加withRoot包装到每个使用 MUI 的组件 或者我是否可以包装我想要使用 MUI 的最高级别组件 我在渲染时遇到问题 不知道如何找出原因 在开发中一切都很
  • Kafka 消费者:如果未提交先前的消息偏移并且禁用自动提交,则希望再次读取相同的消息

    我已经关闭了自动提交 并且在阅读后也没有提交来自消费者的偏移量 检查的消费者滞后也保持不变 它确保偏移量不会被提交 但问题是 它正在消耗下一条消息 而不是再次使用相同的消息 我怎样才能一遍又一遍地阅读同一条消息 仅当先前的偏移量已提交时 我
  • 在 numpy 中表示一阶微分方程

    我有一个等式dy dx x y 5和一个初始值 y 0 3 我想知道如何使用 pyplot 绘制该函数的精确图形 我也有一个x np linspace 0 interval steps 1 我想用它作为 x 轴 所以我只寻找 y 轴值 提前
  • 如何使用 Sha256 证书为 .NET 4.0(如 Visual Studio Update 3)签署 ClickOnce

    我正在尝试使用 clickonce 安装程序部署 Outlook 加载项 我有一个几乎可以工作的批处理文件 但是 当尝试在 Windows XP 上安装时 我收到错误 xml 签名无效 众所周知 XP 无法使用 SHA256 证书examp
  • 在代码中配置 WCF 服务绑定

    我有一个用代码创建的自托管 Web 服务 protected void StartService Type serviceType Type implementedContract string serviceDescription Uri
  • `git difftool -d` 在 Mac 上出现“文件不存在”错误

    我正在尝试使用命令git difftool d对于文件夹差异 命令成功获取差异列表 在 FileMerge app 中显示 但是当我尝试打开每个差异文件时 我明白了file does not exist error 输出日志 git dif
  • Bash 命令从所有文件名中删除前导零

    我有一个目录 其中包含一堆文件 其名称如下 001234 jpg 001235 jpg 004729342 jpg 我想从所有文件名中删除前导零 所以我会留下 1234 jpg 1235 jpg 4729342 jpg 我一直在尝试 sed
  • 使用 php 包含在 jquery 中

    我想做的是使用 phpinclude在一个jquery追加属性 像这样的东西 a popup href click function body append div class popup block div 我的脚本位于服务器端的 php
  • Android 多行工具栏标题

    我有一个工具栏 在横向模式下不像平常那 么宽 但它的高度比平常更高 因此我想在横向模式下将标题设置为多行 准确地说是两行 我尝试了一些方法 将 TextView 放入工具栏内 但是当我尝试访问 TextView 以设置其标题 因为标题是可变
  • awk CSV 带标题 Windows 拆分

    好的 我有一个 csv 文件 需要根据列值进行拆分 这很好 但我无法在每个文件中打印标题 目前我使用 awk FS output 3 csv print 0 gt output test csv 它根据第 3 列分割文件 但我不知道如何向每
  • 如何在 Go 中执行三叉树的深度复制? [复制]

    这个问题在这里已经有答案了 我正在尝试执行以下结构的深层复制 Ternary Tree type Tree struct Left Tree Mid Tree Right Tree Value interface Parent Tree O
  • SQL Server:向日期时间字段添加秒?

    对于 SQL 人员来说 这应该是一个垒球 我知道我可以用类似的东西添加到 int 字段中UPDATE tblUser SET Total Total 2 但是向日期时间字段添加秒的语法是什么 我正在使用 SQL Server 2008 UP
  • 使用指令最佳实践[重复]

    这个问题在这里已经有答案了 有没有any以下功能或优化之间的区别 SomeClass cpp include SomeClass h include SomeOtherClassInSomeClassNamespace h using na