c++有关的问题


为什么我的整数数学与std::pow给出错误的答案?

考虑下面这段代码:
# Include <iostream>
# Include <cmath>
Int main() {
Int i = 23;
Int j = 1;
Int base = 10;
Int k = 2;
I = j * pow(base,k);
……


使用SSE或SSE3 在ushort数组中添加uchar值

我有一个无符号短dst[16] 矩阵和一个更大的无符号char src[m][n] 矩阵。
现在我必须在src矩阵中访问,并使用SSE2 或sse3 向dst添加 16x16 子矩阵。
在一个更老的


为什么这个循环不停止?

我试图用这段代码为try-catch测试产生一个错误,在访问 [3] (第四) 元素时,我期望得到一个错误。即使没有得到错误,for循环也必须停止


使用混合 (浮动,双) 输入向量执行AVX内部产品操作的最快方法

我需要为混合单/双精度浮点矢量构建单精度浮点内积例程,利用 256 位SIMD寄存器的AVX指令集.


C的优化技术

安德烈 · 亚历山大斯库几天前在脸书幻灯片、视频上的讲话中谈到了可能证明我们错了的常见直觉。对我来说,在第 7 张幻灯片上出现了一个非常有趣的观点.


如何使用此提供的头文件声明对象?(缺少模板参数错误)

我的讲师为我们提供了一个定义类AvlTree的头文件,但是由于某种原因,我无法在main() 中正常声明对象。我做错了什么?以下是的相关部分


提高OpenMP/SSE并行化效果

我试图通过OpenMP(parallel for) 和SSE内部函数来提高某些例程的性能:
Void Tester:: process sparallem ()//process sparallem是Tester类的成员
{
//初始化
自动


什么是最简单的方法来使一个C程序崩溃?

我试图制作一个Python程序,它与不同的crashy进程接口 (这是我无法控制的)。不幸的是,我正在连接的程序甚至不能可靠地崩溃!所以我想要t.


变量的范围与寿命

变量的作用域和生存期之间的关系是什么?
如果一个变量超出范围,它的内存是否允许被另一个变量覆盖,或者空间是否保留.


整数到布尔奇怪语法

我对C开发还不到一年 (在此之前专注于其他语言),我正在看一个已经做了 20 年的人的代码。我以前从未见过这种语法和


关于Hinnant的堆栈分配器的问题

我一直在使用Howard Hinnant的堆栈分配器,它的工作原理就像一个魅力,但实现的一些细节对我来说有点不清楚。
为什么使用全局运算符new和delete?所有的.


现实世界中的C std::vector vs数组

我是新来的C。我正在阅读Michael Dawson的 “通过游戏编程开始C”。然而,一般来说,我对编程并不陌生。我刚刚完成了一个关于矢量的章节.


我可以制作C对象的按位副本吗?

可以使用按位复制复制C对象吗?我的意思是使用memcopy_s?有没有可能出错的场景?


带字符串文字的前缀vs中缀运算符 *

我最近就如何获得类似Python的字符串重复给出了这个问题的答案,例如 “hello” * 2 给出了 “hellohello”。
我不会在这里重复定义,但函数声明是:
Std::


在Visual Studio中从内联程序集使用int 21h时出现异常

这是我在C中使用 “内联” 汇编的第一个代码。我需要在控制台中显示几个字符,但是当运行代码VS给我
在ConsoleApplication1.exe中的 0x00DA1712 处引发异常:


为什么memory_order_relaxed在x86 上使用原子 (锁前缀) 指令?

在Visual C 2013 上,当我编译以下代码时
# Include <atomic>
Int main()
{
Std::atomic<int> v(2);
Return v.fetch_add(1,std::memory_order_relaxed);
}
我回来了


Win32 上的互锁ops vs XXX::atomic

使用互锁的winapi函数而不是任何库在Win32 平台上提供原子操作的优点和缺点是什么?
可移植性不是问题。


Clang中方法classof的目的是什么?

让我给你举个例子来解释我想做什么 (或者至少知道这是否是可能做的事情):
在Clang中,让我们取一些基本的ValueDecl。正如你在prov上看到的.


为什么ofstream比fprintf慢?

更新
@ Ruslan给我指了一下为什么snprintf打印单号一直比ostringstream快 2 倍?它提供了一个答案和一个bug报告的链接。
原始问题
我的gen.


C : "std::endl" vs "\ n"

很多C书都有这样的示例代码.
Std::cout << "Test line" << std::endl;
。..所以我也一直这样做。但是我从像这样的工作开发人员那里看到了很多代码


C删除指针的问题,还是可以访问数据的

我真的不明白为什么那些指针可以访问.任何帮助赞赏
# Include <iostream>
等级邪恶 {
公众:
Wicked() {};
虚拟 ~ 邪恶 () {};
Int a;
Int.


如何在Linux C/C程序中支持多种语言?

例如,在这个最简单的hello world程序中:
# Include <iostream>
Int main()
{
Std::cout<<"Hello World!"<<std::endl;
返回 0;
}
我想看看法国如果user 's guide


如何添加在循环中执行函数所需的时间?

我有一个函数的两个实现,并希望看到哪个更快。称它们为foo1() 和foo2()。我有一组测试用例,我想对它们进行测试。测试用例是


为什么将 0.1f改为 0 会降低 10 倍的性能?

为什么这段代码,
Const float x[16] = { 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,
1.9 、 2.0 、 2.1 、 2.2 、 2.3 、 2.4 、 2.5 、 2.6};
Const floa.


我可以使用memcpy写入多个相邻的标准布局子对象?

免责声明: 这是试图深入研究一个更大的问题,所以请不要被这个例子在实践中是否有意义所困扰。
并且,是的,如果你想复制对象,请使用/


Clang为什么要优化这个代码?

代码的目的是找出代表 0 到 1 之间的值的 32 位浮点位模式的总数。在我看来,这应该行得通,但出于某种原因,大会.


为什么int通常是 64 位编译器上的 32 位?

为什么int通常是 64 位编译器上的 32 位?当我开始编程时,我被教导int通常与底层架构的宽度相同。我同意这也使s.


如果我的编译器不支持,我如何在C或C中加减 128 位整数?

我正在为 128 位数字的长流编写压缩器。我想将数字存储为差异-仅存储数字之间的差异而不是数字本身


C: 如何存储 256 位数字,以及如何将其转换为十六进制?

Ints只有 32 位,长到 64 位。
所以..当你和一个大得多的人一起工作时,你会怎么做?
此外,在二进制表示和十六进制之间切换有多容易


_ Mm_store_si128 抛出异常

所以我一直在尝试自己学习SEE优化,但我不太明白,我认为一个简单的函数,只把内存归零,很容易实现,所以我继续努力


优化四重嵌套 “for” 循环

我正在用c开发一个 2D数值模型,我想加快一个特定的成员函数,它减慢了我的代码。要求函数循环遍历m中每个i,j网格点.


使用进位标志的高效 128 位加法

我在我的C代码的非常内部循环中使用 128 位整数计数器。(不相关的背景: 实际的应用是在一个规则网格上评估有限差分方程,这涉及到


C中double和long double的区别

有人能解释双打和长双打之间的差异,除了精度的差异给我吗?我写了一个程序来解决一个引力n体问题,所以我基本上集成了


C代码执行时间取决于代码结构

我偶然发现了这个很棒的youtube教程,在其中一张幻灯片中,我看到了一些我不明白的东西。为什么会这样?这个编译器相关吗?
版本 #1 看起来像这样:
Const int N =.


“未定义的行为” 真的允许 * 任何事情 * 发生吗?

编辑: 这个问题并不是作为讨论未定义行为的 (de) 优点的论坛,但这就是它变成的样子。在任何情况下,这个线程关于一个假设的C-compile.


为什么gcc编译器输出pow(10,2) as 99 不是 100?

# Include <iostream.h>
# Include <math.h>
Int main()
{
Int j = 2;
Int输出;
输出 = pow(10,j);
Cout <<输出;
返回 0;
}
我把上面的代码写到gcc 12 编译器和.


高分辨率定时器与C和Linux?

在Windows下有一些方便的功能,如来自mmsystem.h的QueryPerformanceCounter,以创建高分辨率计时器。
Linux有类似的东西吗?


C.double和float中的不同输出

我有一个示例程序:
# Include <iostream>
# Include <stdio.h>
使用命名空间std;
Int main()
{
浮点数a = 33.30;
双b = 33.30;
Char a1[1024];
Char b1[1024];
冲刺.


存储指令是否阻止缓存未命中的后续指令?

假设我们有一个具有两个内核 (C0 和C1) 的处理器和一个从地址k开始的缓存行,该缓存行最初由C0 拥有。如果C1 在第k行的 8 字节插槽上发出存储指令,那么


调整大小std::vector的性能<std::unique_ptr<T>>

一般的概念似乎是std::unique_ptr与正确使用拥有原始指针相比没有时间开销,给予足够的优化。
但是在中使用std::unique_ptr怎么样


通过avx指令对间接访问进行矢量化

我最近被介绍到矢量指令 (理论上),并对如何使用它们来加速我的应用程序感到兴奋。
我想改进的一个领域是一个非常热的循环:
_ _ Declspec (


64 位机器中的C int vs long

我的电脑有 64 位处理器,当我寻找sizeof(int),sizeof(long) 和sizeof(long long) 时,结果是int和long都是 32 位,长是 64 位。我研究了原因,.


"Rdtsc": "= a" (a0),"= d" (d0) 这是做什么的?

我是C和基准测试的新手
我不明白这部分代码是做什么的?
所以我发现了一些关于edx,eax寄存器的东西,但是我不完全理解这是如何在代码中发挥作用的.


上一页