小编Sil*_*cer的帖子

检查Qt Creator中UI设计的外观

我正在试验Qt Creator来设计一个主窗口形式.奇迹般有效.但是我不时会检查表单的视觉外观和布局大小调整行为.我想在不启动整个应用程序的情况下执行此操作.

有没有办法快速渲染/可视化/打开设计的表单来检查它的行为和外观(当然没有业务逻辑)?可能我错过了一些明显的东西......

forms qt qt-creator

3
推荐指数
1
解决办法
2263
查看次数

选择Qt文本文件写入的自定义行结尾

在Qt中编写文本文件(使用QFile和QTextStream)时,任何\nendl自动转换为正确的平台特定行结束(例如,\r\n对于Windows).

我想让用户选择使用哪个文件结尾.

有没有办法在不使用二进制文件模式的情况下设置以Qt结尾的所需行?

c++ qt line-endings eol

3
推荐指数
1
解决办法
613
查看次数

如何指向文档文件夹中的文件夹?

如何指向 Documents 文件夹中存储的文件夹或文件?

所以就我而言,那就是C:/Users/Vanya/Documents/ATFolder(AT文件夹是我需要的文件夹)

我应该用什么来代替“Vanya”进入文档文件夹,在任何电脑上而不仅仅是我的电脑上

如果重要的话我正在尝试这样做:

QDir().mkdir("C:/Users/%USERPROFILE%/Documents/ATFolder");
Run Code Online (Sandbox Code Playgroud)

它响应为false并且不创建文件夹。

c++ qt qt5

3
推荐指数
1
解决办法
2013
查看次数

为什么 C++ 20 中没有枚举概念?

我正在尝试使用当前的 GCC10 将一些旧代码更新为即将推出的 C++20 语言。

我无法更新某些模板,因为它们使用了std::enable_if<std::is_enum_v<T>>条件,并且std::enumerationC++20 中没有定义任何概念。

当然我可以定义我自己的概念,但它仍然让我想知道为什么 C++20 没有将所有现有的类型特征都实现为概念。

为什么是这样?我错过了什么重要的事情吗?

c++ type-traits c++-standard-library c++-concepts c++20

3
推荐指数
1
解决办法
435
查看次数

在 PHP 中转义 iframe srcdoc 值的安全方法?

哪个 PHP 函数适合转义 HTML 以便在 中使用<iframe srcdoc="???">

我找到了两个候选人:htmlspecialchars()htmlentities()。应该使用哪一个来正确转义任何可能的 HTML 代码?

html php iframe escaping

2
推荐指数
1
解决办法
1940
查看次数

在容器中使用 new 放置

我刚刚遇到了一些 C++ 容器实现。该类使用内部缓冲区来管理其对象。这是一个没有安全检查的简化版本

template <typename E> class Container
{
public:
   Container() : buffer(new E[100]), size(0) {}
   ~Container() { delete [] buffer; }

   void Add() { buffer[size] = E(); size++; }
   void Remove() { size--; buffer[size].~E(); }

private:
   E* buffer;
   int size;
};
Run Code Online (Sandbox Code Playgroud)

据我所知,如果/没有自定义,这将E冗余地构造/销毁对象。这看起来很危险。Container()~Container()newdelete

使用放置是否是防止危险的冗余构造函数/析构函数调用的最佳new方式Add()(除了将类绑定到功能齐全的池之外)?

使用 Placement 时newnew char[sizeof(E)*100]分配缓冲区的正确方法是吗?

c++ memory-management placement-new object-construction object-destruction

2
推荐指数
1
解决办法
780
查看次数

CRC校验和的分布

我正在研究将CRC校验和用作哈希时的冲突可能性。我知道如何计算均匀分布的哈希算法的冲突可能性(这意味着获得随机输入数据的所有可能校验和的机会是相同的)。

我不知道的东西(我在网络上找不到):

  1. CRC校验和是否一般[不]均匀分布?
  2. 分布是否取决于多项式?
  3. 分布是否取决于输入数据大小?

PS:我知道将CRC用作哈希时的限制,因此这不是此问题的一部分。

hash distribution crc hash-collision

2
推荐指数
1
解决办法
528
查看次数

使用变量的类型作为模板参数

我做了以下事情:

long long int x = 0;
int digits_of_x = std::numeric_limits<long long int>::digits;
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,如果有人更改了类型,这很容易引入错误x.所以我更喜欢这样做:

long long int x = 0;
int digits_of_x = std::numeric_limits<typeof(x)>::digits;
Run Code Online (Sandbox Code Playgroud)

我找到了GCC扩展,typeof()但我想使用一些标准函数(最多C++ 17).有这样的功能吗?

c++ types c++11 c++14 c++17

2
推荐指数
1
解决办法
72
查看次数

为什么概念类模板特化会导致错误

我尝试使用 gcc 10 构建以下内容-std=gnu++20 -fconcepts

\n\n
template <std::signed_integral T>\nclass MyClass{ T a; };\n\ntemplate <std::unsigned_integral T>\nclass MyClass{ T a; };\n
Run Code Online (Sandbox Code Playgroud)\n\n

为什么这段代码会导致以下错误?

\n\n
> declaration of template parameter \xe2\x80\x98class T\xe2\x80\x99 with different constraints\n> 55 | template <std::unsigned_integral T>\n>       |           ^~~\n
Run Code Online (Sandbox Code Playgroud)\n\n

应该没问题吧?

\n

template-specialization class-template c++-concepts c++20 gcc10

2
推荐指数
1
解决办法
314
查看次数

C和C++中整数计算的溢出

请检查以下代码段:

  unsigned char a = 100;
  unsigned char b = 100;
  unsigned char c = 100;
  unsigned short x = a * b + c;
Run Code Online (Sandbox Code Playgroud)

我预计这会溢出,计算将在8位类型的unsigned char(不是16位无符号short)中完成,超过unsigned char的值范围.但事实并非如此.

为什么计算不会在C和C++中溢出?

c c++ integer-overflow

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