srand (time (null)) 导致编译器警告:隐式转换丢失整数精度

2024-02-23

如果这个问题已经得到解答,我们深表歉意。

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main () {

srand( time(NULL) );
cout << rand();
}

“隐式转换会丢失整数精度:'time_t'(又名'long')到'unsigned int'”

这是我执行上面的代码时收到的错误消息。我使用的是 xcode 4.6.1。现在,当我使用不同的编译器(例如 codepad.org 中的编译器)时,它执行得非常好,生成看起来像随机数的内容,所以我假设这是一个我需要解决的 xcode 问题?

我刚刚开始编程,所以在这方面我是一个完全的初学者。是我的代码有问题还是我的编译器有问题?

任何帮助,将不胜感激!


“隐式转换会丢失整数精度:'time_t'(又名'long')到'unsigned int'”

你隐式地失去了精度,因为time()返回一个long它大于unsigned int在你的目标上。为了解决此问题,您应该显式转换结果(从而消除“隐式精度损失”):

srand( static_cast<unsigned int>(time(nullptr))); 

鉴于现在是 2017 年,我正在编辑这个问题,建议您考虑提供的功能std::chrono::*定义于<chrono>作为 C++11 的一部分。您最喜欢的编译器提供 C++11 吗?如果没有,那确实应该!

要获取当前时间,您应该使用:

#include <chrono>

void f() {
    const std::chrono::time_point current_time = std::chrono::system_clock::now();
}

我为什么要为此烦恼time() works?

IMO,只有一个原因就足够了:清晰、明确的类型。当您在足够大的团队中处理大型程序时,了解传递的值是否代表时间间隔或“绝对”时间以及大小是至关重要的。和std::chrono您可以设计可移植的接口和数据结构,并跳过“是不是截止日期或从现在起的毫秒数或等待是秒的忧郁症”。

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

srand (time (null)) 导致编译器警告:隐式转换丢失整数精度 的相关文章

  • 为 DocumentDb 设置自定义 json 转换器

    我正在使用类型化 DocumentQuery 从 Azure DocumentDb 集合中读取文档 from f in client CreateDocumentQuery
  • 如何使用不同的基本路径托管 Blazor WebAssembly 应用程序

    我有一个 Blazor Webassemble NET 托管应用程序 在我们托管它的服务器上 应用程序的基本路径将是mydomain com coolapp 因此 为了尝试让应用程序在服务器上正确呈现 我一直遵循本页 应用程序基本路径 部分
  • 在 LINQ 查询中进行转换

    是否可以在 LINQ 查询中进行强制转换 为了编译器的缘故 下面的代码并不糟糕 但最好将其放入一个查询中 Content content dataStore RootControl as Controls Content List
  • 非模板函数中的尾随返回类型[重复]

    这个问题在这里已经有答案了 我见过有人使用以下语法来实现函数 auto get next gt int 代替 int get next 我理解两者 并且我知道尾随返回类型语法对于使用 decltype 的模板代码很有用 就我个人而言 我会避
  • 使用 POST 的 HttpWebRequest 的性能

    我有一个用于测试网络服务的小工具 它可以使用 POST 或 GET 调用 Web 服务 使用POST的代码是 public void PerformRequest WebRequest webRequest WebRequest Creat
  • C# 结构默认值

    我有一个方法 它接受一个包含许多具有基本数据类型的字段的结构 我想传递大部分默认值 但需要进行一些调整 但我了解结构声明中的基本字段不能包含默认值声明 例如struct S int a 42 现在是这样的 OptionsStruct opt
  • 维护 VS Test Project 中单元测试方法之间的上下文

    我想按顺序运行以下单元测试 使用随机数字的名称 密码等创建新客户 检索刚刚创建的客户并断言其属性包含相同的随机数 对同一用户调用 ForgotPassword 函数 并使用相同的随机数作为用户名 清楚地看到 我需要生成一次随机数 并在 3
  • 使用 STL 流时如何格式化我自己的对象?

    我想将我自己的对象输出到 STL 流 但具有自定义格式 我想出了这样的东西 但由于我之前从未使用过 locale 和 imbue 所以我不知道这是否有意义以及如何实现 MyFacet 和operator 所以我的问题是 这是否有意义以及如何
  • 当我尝试传递临时地址作为参数时,它是一个 UB 吗?

    对于以下 C 代码 include
  • 为什么连续抛出 2 个异常不会生成无法访问的代码警告?

    为什么以下代码行不会创建编译器警告 void Main throw new Exception throw new Exception 据我所知 编译器应该通知您无法到达第二个抛出异常 这显然是一个编译器错误 它是在 C 3 0 中引入的
  • main.cpp 是必需的吗?

    我试图编译一个程序cmake 我最终删除了我的main cpp文件 我刚刚将其复合到另一个包含我的项目名称的文件中 即 我刚刚将主函数剪切并粘贴到该文件中 问题是我有一个main cpp未发现错误 不确定是否在C 一个名为main cpp是
  • MINIX内部碎片2

    我正在用 C 语言编写一些软件 它递归地列出给定目录中的所有文件 现在我需要计算出内部碎片 我花了很长时间研究这个问题 发现 ext2 上的内部碎片只发生在最后一个块中 我知道理论上你应该能够从索引节点号获得第一个和最后一个块地址 但我不知
  • 在 clang 中向量化函数

    我正在尝试根据此用 clang 对以下函数进行矢量化铿锵参考 http llvm org docs Vectorizers html 它采用字节数组向量并根据以下条件应用掩码this RFC https www rfc editor org
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • Clang 5.0 上的 vsprintf 和 vsnprintf [-Wformat-nonliteral] 警告

    我有这段代码 static void err doit int errnoflag int level const char fmt va list ap int errno save unsigned long n char buf MA
  • g++ / gcc 是否支持 C++20 新的atomic_flag 功能?

    根据参考参数 https en cppreference com w cpp atomic atomic flag c 20 有丰富的 对我来说有用的 支持atomic flag运营 然而 目前尚不清楚 gcc 是否支持这些功能 它们在任何
  • 使用未命名命名空间而不是静态命名空间

    我可以假设在未命名命名空间中声明的对象相当于static namespace int x 1 static int x 2 FWIK 在这两种情况下 x将具有静态存储期限和内部链接 声明为的对象的所有规则也是如此static适用于未命名名称
  • 异步/等待 - 是*并发*吗?

    我一直在考虑 C 5 中新的异步内容 并且出现了一个特殊问题 据我了解 await关键字是一个简洁的编译器技巧 语法糖来实现连续传递 http en wikipedia org wiki Continuation passing style
  • 如何配置 qt Creator 以显示 C++ 代码而不是反汇编程序?

    昨天我做了很多事情 比如更新 GCC Clang 和重新安装 Qt Creator 今天 在逐步调试我的代码时 调试器显示的是反汇编代码 而不是我编写的 C 代码 紧迫F10 or F11 调试器正在进入汇编代码而不是 cpp nor h我
  • 如何使用 Microsoft Graph API 更新 MailboxSettings

    我想从不同的日历更新邮箱设置 如何构建可以通过 Microsoft Graph 更新 MailboxSetting 的请求 这是我的代码示例 但有例外 代码示例 User obj GraphServiceClient Users roomC

随机推荐

  • 如何在php中解密sha1?

    下面我使用 sha1 加密了一个字符串变量 现在我希望使用 sha1 函数解密数据 但我要去某个地方 请有人站出来以正确的方式指导我 下面是我的代码 我得到这样的输出 tiger 46e3d772a1888eadff26c7ada47fd7
  • 类型别名的范围是什么?

    Typescript 类型别名的范围是什么 我有这个别名 我想我可能想以某种方式在全球范围内声明它 type ResouceResult
  • 熊猫和 AWS Lambda

    有人有与 AWS Lambda 兼容的完全编译版本的 pandas 吗 搜索了几个小时后 我似乎找不到我要找的东西 而且关于这个主题的文档也不存在 我需要在 lambda 函数中访问该包 但是我未能成功地使该包正确编译以在 Lambda 函
  • 如何从 json 文件中删除 json 对象?

    我想从此 json 文件中删除年龄using org json or com googlecode json simple 假设这个 json 对象位于文件 test json 中 age 100 name mkyong com messa
  • 现代浏览器仍然限制并行下载吗?

    In 这篇雅虎文章 http yuiblog com blog 2007 04 11 performance research part 4 从 2007 年开始 作者认为静态资源应该分布在不同的主机名上 因为浏览器遵循 HTTP 1 1
  • 组件输入更改父级中传递的值

    据我了解 Input组件中的字段应该是单向的 父级到子级 但是 我有一个值要传递给Input然后在组件中修改它 但我注意到它在父级中也发生了变化 这对我来说是有道理的 因为对象是通过引用传递的 但我猜这意味着 Angular 设置的整个 单
  • 针对 Java 5 和 Java 6 的即时、内存中 Java 代码编译

    如何从 Java 5 和 Java 6 中的任意字符串 在内存中 编译 Java 代码 加载它并在其上运行特定方法 预定义 在你对此进行讨论之前 我查看了现有的实现 大多数依赖于 Java 6 编译器 API 那些不这样做的人 只能依靠技巧
  • Heroku:帐户无权访问应用程序

    我试图git pull heroku master 但我得到了 Your account email protected cdn cgi l email protection does not have access to app name
  • tailwindcss:强制 tailwind 使用兼容的 RGB 语法?

    我正在使用 tailwindcss 移植一个应用程序以与 IE11 一起使用 不幸的是 tailwindcss 坚持使用现代技术生成颜色W3C CSS 颜色模块级别 4 rgb https drafts csswg org css colo
  • 加载新键盘时从数字键盘上删除“完成”按钮

    好吧 我会尽力解释这一点 我有一个 iPhone 应用程序 它有一个文本字段 用户只能输入数字 那里不是问题 但是 数字键盘上没有完成按钮 所以我无法让它消失 我可以制作一个按钮 用户按下该按钮即可关闭键盘 但我宁愿有一个完成按钮 因为屏幕
  • Eigen static libaligned_free“双重释放或损坏”

    这是一个延续较早的帖子 https stackoverflow com questions 70788173 eigen static lib memory align 但这一次希望有一个更好的例子 设置向量时 这个简单的测试会崩溃 我正在
  • 使用 DotNetZip 库解压包含非 ASCII 字符的文件

    我正在尝试使用 DotNetZip 库解压缩文件 该文件包含带有丹麦语字符 的文件夹和文件 TotalCommander 7Zip Windows 自己的 zip 都能正确提取文件 但 DotNetZip Library 会破坏丹麦语字符
  • MVC4 FoolProof 数据注释 - 如何检查该字段不等于零?

    我正在尝试使用 MVC Foolproof 库来验证我的模型并分别显示错误消息 但是 当我使用万无一失的验证时 单击提交按钮时 即使常规验证也不会显示 我的要求是我有一个数字文本框 它不应该为空或零 文本框值是根据从前面的下拉列表中选择的值
  • 如何将变量从控制器传递到视图 joomla mvc

    根据此示例 如何将变量从 joomla 子控制器传递到视图 class MYControllerControllerParser extends JController public function construct default a
  • 如何仅序列化.Net 中的某些属性?

    这是一个 Web 项目 所以我有几个继承自 Web UI 的类 我只想序列化非常特殊的属性 基本上 只有本地属性 我知道 XMLIgnore 属性可以放置在属性上以忽略项目 但这在我的上下文中不起作用 因为这需要修改一堆我真的不想修改的东西
  • 使用 Woocommerce 中的元查询从任何地方排除特定产品

    我想从我的商店页面以及我的主页中排除来自给定城市的产品 在主页中我显示来自 flatsome UX Builder 的 woocommerce 商店小部件 不确定它是一个小部件 的产品 给定城市的产品不会出现在我的商店页面中 但它们仍然出现
  • 如何在 Flutter 中将数据从子 Stateful widget 传递到 Parent Widget

    我的 flutter 应用程序中有一个有状态的小部件 DayPicker 相同的代码是 class DayPicker extends StatefulWidget override DayPickerState createState g
  • 分布式 ASP.Net 状态服务

    我想知道是否存在任何分布式 ASP Net State Service 替代方案 Session 可以存储在 InProc StateService 或 SQL 中 您还可以编写自定义存储提供程序 对于负载平衡 没有任何形式的粘性 IP 只
  • json 模式中的对象重用和组合

    我有一个 json blob 看起来像这样 ObjectA Object1 fields Object2 fields Object3 fields ObjectB Object1 fields Object2 fields Object3
  • srand (time (null)) 导致编译器警告:隐式转换丢失整数精度

    如果这个问题已经得到解答 我们深表歉意 include