C++ 中的静态 const double

2023-11-23

这是使用 static const 变量的正确方法吗?在我的顶级课程中(形状)

#ifndef SHAPE_H
#define SHAPE_H

class Shape
{
public:

    static const double pi;
private:
    double originX;
    double originY;
};

const double Shape::pi = 3.14159265;

#endif

然后在扩展 Shape 的类中,我使用 Shape::pi。我收到链接器错误。我将 const double Shape::pi = 3.14... 移至 Shape.cpp 文件,然后编译我的程序。为什么会发生这种情况?谢谢。


如果你有办法添加C++11(或更高版本)标记到您的编译器,您将能够执行以下操作:

ifndef SHAPE_H
#define SHAPE_H

class Shape
{
public:

    static constexpr double pi = 3.14159265;
private:
    double originX;
    double originY;
};

#endif

Since C++11您可以将 const 表达式用于整型以外的类型。这使您能够就地声明和定义常量变量。

更多细节:https://en.cppreference.com/w/cpp/language/constexpr

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

C++ 中的静态 const double 的相关文章

  • 在 C# 中创建具有单独列的分隔文本

    我一直在尝试在 C 中创建一个制表符限制的文本文件 以便数据正确显示在单独的列中 Firstname Lastname Age John Smith 17 James Sawyer 31 我尝试过 t 字符 但我得到的只是 Firstnam
  • 为 Visual Studio 2013 编译 Tesseract

    我正在尝试使用tesseract在 Visual Studio 2013 中 我在链接器 gt 输入 不是 libtesseract302 static lib 中使用 libtesseract302 lib 一切都正常 并且已编译并运行
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 在 Unity 进程和另一个 C# 进程之间进行本地 IPC 的最快方法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望每秒大约 30 次从 C 应用程序向我的 Unity 应用程序传送大量数据 由于 Unity 不支持映射内存和管道 我考虑了 t
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • 在 C# 中循环遍历文件文件夹的最简单方法是什么?

    我尝试编写一个程序 使用包含相关文件路径的配置文件来导航本地文件系统 我的问题是 在 C 中执行文件 I O 这将是从桌面应用程序到服务器并返回 和文件系统导航时使用的最佳实践是什么 我知道如何谷歌 并且找到了几种解决方案 但我想知道各种功
  • 获取 WPF 控件的所有附加事件处理程序

    我正在开发一个应用程序 在其中动态分配按钮的事件 现在的问题是 我希望获取按钮单击事件的所有事件 因为我希望删除以前的处理程序 我尝试将事件处理程序设置为 null 如下所示 Button Click null 但是我收到了一个无法分配 n
  • 单击 form2 上的按钮触发 form 1 中的方法

    我对 Windows 窗体很陌生 我想知道是否可以通过单击表单 2 中的按钮来触发表单 1 中的方法 我的表格 1 有一个组合框 我的 Form 2 有一个 保存 按钮 我想要实现的是 当用户单击表单 2 中的 保存 时 我需要检查表单 1
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • 等待线程完成

    private void button1 Click object sender EventArgs e for int i 0 i lt 15 i Thread nova new Thread Method nova Start list
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • (de)从 CSV 序列化为对象(或者最好是类型对象的列表)

    我是一名 C 程序员 试图学习 C 似乎有一些内置的对象序列化 但我在这里有点不知所措 我被要求将测试数据从 CSV 文件加载到对象集合中 CSV 比 xml 更受青睐 因为它更简单且更易于人类阅读 我们正在创建测试数据来运行单元测试 该集
  • 如何将 Roslyn 语义模型返回的类型符号名称与 Mono.Cecil 返回的类型符号名称相匹配?

    我有以下代码 var paramDeclType m semanticModel GetTypeInfo paramDecl Type Type Where paramDeclType ToString returns System Col
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi
  • 在客户端系统中安装后桌面应用程序无法打开

    我目前正在使用 Visual Studio 2017 和 4 6 1 net 框架 我为桌面应用程序创建了安装文件 安装程序在我的系统中完美安装并运行 问题是安装程序在其他计算机上成功安装 但应用程序无法打开 edit 在客户端系统中下载了
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • Python utf-8,如何对齐打印输出

    我有一个包含日语字符以及 正常 字符的数组 如何对齐这些打印件 usr bin python coding utf 8 a1 trazan a2 dipsy laa laa banarne po tinky winky for i j in
  • 从大型数据集中删除重复项(>100Mio 行)

    我知道这个主题在此之前出现过很多次 但建议的解决方案都不适用于我的数据集 因为我的笔记本电脑由于内存问题或已满存储而停止计算 我的桌子如下所示108澪行 Col1 Col2 Col3 Col4 SICComb NameComb Case N
  • C 样式强制转换可以处理但 C++ 强制转换不能处理的转换

    据说C 风格的强制转换只是尝试应用 C 强制转换的不同组合 并使用第一个允许的组合 但是 我有一种感觉 听说有些情况只能处理 C 风格的强制转换 而不允许使用 C 强制转换的组合 我错了吗 是这样吗anyC型铸入式any上下文 在 C 中
  • 从报告中的两个表查询

    我的 VB 应用程序通过 ODBC 打印报告 我使用数据库专家添加了表格并设计了水晶报表 我的查询应该放在哪里 这是我的查询 SELECT ts SCHEDIDNO ts DAYNAME DATE FORMAT ts TIMESTART h
  • 如何从 boto 调用返回 XML?

    我在用博托2 32 1使用Python 2 7 6 我遇到了问题订单列表boto 的 mws 模块的功能是获取我的亚马逊订单的 XML 数据 这是我拨打的电话 response connection list orders CreatedA
  • 如何将月份名称映射到月份编号,反之亦然?

    我正在尝试创建一个函数 可以将月份数字转换为缩写的月份名称或将缩写的月份名称转换为月份数字 我认为这可能是一个常见问题 但我在网上找不到 我在想calendar模块 我发现要将月份数字转换为缩写月份名称 您可以这样做calendar mon
  • Linux下Python / GTK中检测用户注销/关闭 - SIGTERM/HUP未收到

    好吧 这可能是一个困难的问题 我有一个 pyGTK 应用程序 由于我无法捕获 控制的 X Window 错误而随机崩溃 因此 我创建了一个包装器 一旦检测到崩溃 它就会重新启动应用程序 现在问题来了 当用户注销或关闭系统时 应用程序会以状态
  • jquery 下拉选择器 AutoPostback

    在 jQuery 中 有什么方法可以区分回发下拉列表和非回发下拉列表 ASP NET 3 5 select change function e something like this if this attr AutoPostback tr
  • dyld:库未加载:新 Xcode 的 @rpath/libswiftCore.dylib 问题(10.2)

    引用的答案都不起作用 Xcode 10 2 发生了一些新变化 无论我使用 Swift 4 2 还是 5 都会发生这种情况 使用全新的 未经编辑的命令行工具 它会立即发生 您需要做的就是创建一个 MacOS 命令行工具 然后点击 运行 您会立
  • .slice 和 .wrapall

    我正在使用 stackoverflow 上的一位成员建议的一些代码 并由我进行修改 将每 3 个列表项包装为大型菜单的一部分 代码是 var lis ul gt li for var i 0 i lt ls length i 3 lis s
  • 加载此程序集将产生与其他实例不同的授权集

    从 ASP net 2 0 网站调用 vb net 1 1 程序集时 我在运行时收到以下错误 加载此程序集将产生与其他实例不同的授权集 知道这个错误背后的原因是什么吗 场景是 有一个 Web 应用程序是在 ASP NET 2 0 中构建为
  • 启用 Proguard 后应用程序崩溃

    我的应用程序在没有启用混淆器的情况下运行得很好 但是当我启用它时 应用程序立即崩溃 我在配置中尝试了多种组合 但均无济于事 有什么我应该保留而遗失的东西吗 混淆器配置 https gist github com hanleyhansen 9
  • 登录后重定向到特定 URL

    Devise 1 0 Rails 2 3 的库 中是否有一种方法可以在登录后重定向到特定 URL 而不是 root url 编辑 忘了提及它是 Devise 1 0 您的用户可能之前已被重定向after sign in path叫做 如果用
  • 是否有一个工具可以根据当前工作目录使用 SHA 创建存储库清单文件?

    我正在使用 Android 项目使用的 repo 来管理我的项目 是否有一个工具可以根据当前工作目录使用 SHA 创建存储库清单文件 如下所示
  • TfIdfVectorizer:固定词汇的向量化器如何处理新单词?

    我正在研究约 10 万篇研究论文的语料库 我正在考虑三个领域 纯文本 title abstract 我使用 TfIdfVectorizer 获取明文字段的 TfIdf 表示 并将由此产生的词汇反馈回标题和摘要的矢量化器中 以确保所有三种表示
  • 如何在 JavaScript 中使用 Math.random 进行测试?

    我有一个函数可以在最小值和最大值之间选择一个随机值 因此 当我进行测试时 我会测试该值是否落在最小值和最大值之间 但由于我的应用程序出现一些故障 测试有时会通过 有时由于随机性而失败 覆盖 模拟是个好主意吗Math random 返回 0
  • 如何在没有 Box 授权页面的情况下获取访问令牌

    我已被授予访问 协作 文件夹的权限 我需要的是每天访问该文件夹并从中获取文件 现在我生成的开发者令牌将在 1 小时后过期 有什么方法可以让我得到authorization code没有第一条腿 这需要用户界面 这样我就可以在每次获取文件时刷
  • CUDA 联合访问全局内存

    我已经阅读了 CUDA 编程指南 但我错过了一件事 假设我在全局内存中有 32 位 int 数组 我想通过合并访问将其复制到共享内存 全局数组的索引从 0 到 1024 假设我有 4 个块 每个块有 256 个线程 shared int s
  • jquery mouseover和mouseout一直闪烁

    我在使用 jQuery MouseOut 和 MouseOver 时遇到一些问题 每次我将鼠标悬停在选定的 div 上时 就会出现需要显示的子 div 但是 它开始闪烁 我不知道为什么 我已将代码发布在 JsFiddle 上 http js
  • C++ 中的静态 const double

    这是使用 static const 变量的正确方法吗 在我的顶级课程中 形状 ifndef SHAPE H define SHAPE H class Shape public static const double pi private d