小编vit*_*aut的帖子

在C++中std :: is_trivially_copy_constructible中有什么简单的操作

以下是cppreference.com上std :: is_copy_constructible(1)和std :: is_trivially_copy_constructible(2)文档的摘录:

1)检查类型是否为CopyConstructible,即具有可访问的显式或隐式复制构造函数.如果满足要求,则提供成员常量值等于true,否则值为false.

2)与(1)相同,但复制构造函数表达式不会调用任何不重要的操作.

那么这里被认为是一项微不足道的操作呢?

c++ type-traits c++11

14
推荐指数
1
解决办法
2110
查看次数

在编译器构造中,符号是否与令牌相同?

在编译器构造中,当你谈论令牌时,一个令牌就像一个符号/只是一个符号的另一个术语?经过一些研究后,我想要明白,令牌是一个带有符号表参考的符号,因此某种归属符号/带有一些额外信息的符号?谢谢你的任何澄清:-)

compiler-construction symbols terminology token

13
推荐指数
1
解决办法
2811
查看次数

Linux中C++的类层次结构/依赖关系图生成器

是否有一些工具通过检查Linux中的C++代码来生成类层次结构/依赖关系图?

我有一大堆给你的C++文件,这样的工具对于帮助我理解源代码非常宝贵.我对理解它有点纠结.

c++ linux class

13
推荐指数
2
解决办法
2万
查看次数

使用dup2时的竞争条件

此手册页dup2系统调用说:

EBUSY(仅适用于Linux)这可以通过DUP2开放(2)和DUP()的竞争条件时返回()或DUP3().

它谈什么竞争条件有关,我应该怎样做,如果dup2给出了EBUSY错误?我应该像我一样重试EINTR吗?

c linux posix race-condition dup2

13
推荐指数
2
解决办法
1380
查看次数

尽管 #include <format>,C++ 命名空间“std”没有成员“format”

我是 C++ 新手。我试图将当前日期和时间存储为字符串变量。

这个问题上,我找到了答案,并安装了该date.h库。

但是,当我尝试使用提供的代码时,遇到了错误:

命名空间“std”没有成员“format”

尽管位于#include <format>脚本的顶部。

我怎样才能解决这个问题?

我正在 Windows 10 上使用 Visual Studio 2022,如果有帮助的话。

这是我的代码:

#include <iostream>
#include <chrono>
#include <date.h>
#include <type_traits>
#include <format>


int main()
{
    std::cout << "The current time is ";
    auto start_time = std::format("{:%F %T}", std::chrono::system_clock::now());
    static_assert(std::is_same_v<decltype(start_time), std::string>{});
    std::cout << start_time << "\n";
}
Run Code Online (Sandbox Code Playgroud)

c++ fmt visual-studio-2022

13
推荐指数
3
解决办法
5万
查看次数

用于构建编译器的通用语言

受到Eric Sink对stackoverflow播客的采访的启发,我想在业余时间为学习体验构建一个完整的编译器.我最初的想法是构建一个C编译器,但我不确定它是否需要花费太多时间.

我想知道是否有一个较小的通用语言更适合作为第一个编译器工作实现?或者是在合理的时间范围内(200小时)可行的C实现?

我打算以CLR为目标.

compiler-construction

12
推荐指数
3
解决办法
1926
查看次数

在C++中实现工厂方法的首选方法是什么?

一个新手问题:我有一个带有一些虚函数的类的层次结构,我正在尝试实现一个工厂方法,但我不确定什么是最好的方法:

  1. 从工厂方法返回一个原始指针,并将其包装到调用方法中的智能指针中
  2. 从工厂返回一个智能指针
  3. 从工厂返回一个正确的对象(但它是否正确复制派生类?)并将其分配给调用方法中的本地对象
  4. 从工厂返回一个引用(但是如何在没有内存泄漏的情况下在工厂方法中创建对象?)

我将非常感谢工厂方法和最小客户端的示例,它有效并且不会泄漏内存.

我的背景是C#和Java,所以我在C++ atm中的内存管理方面有点迷失.

c++ memory-management factory

12
推荐指数
1
解决办法
2861
查看次数

如果新的失败怎么办?

在C++和C#中,当新的无法分配内存时,它会抛出异常.

我找不到有关Java中新行为的任何信息.那么如果新的Java失败(没有足够的内存)会发生什么?

java memory-management

12
推荐指数
1
解决办法
4223
查看次数

为什么Java使用修改后的UTF-8而不是UTF-8?

为什么Java使用修改的UTF-8而不是标准的UTF-8用于对象序列化和JNI?

一种可能的解释是,修改后的UTF-8不能嵌入空字符,因此可以使用以空终止字符串操作的函数.还有其他原因吗?

java unicode java-native-interface utf-8

12
推荐指数
1
解决办法
2506
查看次数

如何检查文件在Linux shell中是否只包含零?

如何'\0'使用shell命令检查Linux中的大文件是否仅包含零字节()?我可以为此编写一个小程序,但这似乎是一种矫枉过正.

linux shell file

12
推荐指数
4
解决办法
4422
查看次数