c++有关的问题


双精度逆平方根是否有一个快速的C或C标准库函数?

我发现自己在打字
Double foo = 1.0/sqrt(.);
很多,我听说现代处理器有内置的逆平方根操作码。
有C或C标准库逆平方根fu吗.


如何让我的非常大的程序链接?

我们的下一个产品太大了,无法在运行 32 位Windows的机器上链接。所有lib文件的总和超过 2Gb,并且只能在 64 位Windows计算机上链接。最终我们.


包括。Cpp而不是header(.h)

有一些情况下,当我们包括。Cpp文件,而不是标准头文件 (.h),例如:
# Include "example.cpp"
而不是
# Include "example.h"
它似乎工作,但这是安全的还是sho.


什么是'<cuchar>'提供,它在哪里记录?

新的C 11 标准提到了一个标题 <cuchar>,大概类似于C99 的 <uchar.h>。
现在,我们知道C 11 带来了新的字符类型和文字是专门desi.


放置新的和未初始化的POD成员

C标准是否保证未初始化的POD成员在放置new后保留其以前的值?
或者更准确地说,下面的断言是否总是满足于根据C 1.


何时将指针作为参数传递给C中的函数?

在这里我读了一篇关于何时将指针作为函数的参数传递的文章。但是我想知道一些情况下,你应该把指针作为函数的参数传递给指针。
成为.


如何在Linux/Windows上测量CPU时间和挂钟时间?

我的意思是: 如何测量我的CPU在函数执行上花费的时间和运行我的函数所需的挂钟时间?(我对Linux/Windows以及x86 和x86_64 感兴趣)。看我想做什么 (Im


使用成员函数启动线程

我试图用一个没有参数并返回void的成员函数来构造一个std::thread。我无法找出任何有效的语法-无论如何,编译器都会抱怨。什么是


为MessageBox连接LPCTSTR

如何连接MessageBox的lpctstr?
Java中的语法是这样的
LPCTSTR str1 = "String2";
LPCTSTR str2 = "";
LPCTSTR str3 = "String1";
LPCTSTR finalMsg = "";
FinalMsg = str1 s.


C包含所有内容,所以没有必要学习C,这是真的吗?

我正在上C编程课,教授告诉我们没有必要学习C,因为C包含C中的所有内容以及面向对象的特性。然而,其他一些人已经告诉.


为什么重载 = 从不在其他人的代码中返回任何内容?

假设我有一个非常简单的类
C级 {
私人:
Int _ a;
Int _ b;
公众:
C (int a,int b) :_ a { a},_ b { b } {}
Int a () { return _ a; }
我.


你从经验中学到了哪些与C相关的习语、误解和陷阱?

你从经验中学到了哪些与C相关的习语、误解和陷阱?
一个例子:
A类
{
公众:
Char s[1024];
Char * p;
A::A()
{
P = s;
}
虚空


在函数中使用引用或返回

我想改变一个向量。我不知道是改变每个引用的向量还是返回一个副本更好。是附加的复制操作 (对于带有返回的版本是必需的)


C移动构造函数参数

我应该如何解释参数到移动构造函数或移动赋值运算符?
语法为typename & & name。(例如: myclass & & inst)
这是 “参考参考” 吗,.


使某些特定于类的功能成为单独的函数而不是成员函数的原因是什么?

在审查相当旧的代码时,我发现了一些奇怪的设计决策:
//不相关的东西被删除
类 {
公众:
Int GetStage() const { return stage; }
Void SetStage( int值) { st.


变量等末尾的 “&” 号 (&)

我是一个C noob,我在代码中理解c语法的问题。现在我很困惑。
班级日期
{
私人:
Int日,月,年;
Int correct_date( void );
公众:
Void set_date( int.


获取UTF-8 编码的std::string的实际长度?

我的std:: 字符串是utf-8 编码所以很明显,str.length() 返回错误的结果。
我发现了这些信息,但我不确定如何使用它来做到这一点:
以下字节序列是
我们.


Visual Studio-分析时程序运行速度更快

我一直在对我写的一个物理应用程序进行一些分析,我注意到当我分析它时,它运行得比没有分析器更快,也许更流畅。请注意,我没有运行


“静态枚举” 在C中是什么意思?

我最近遇到了这个:
静态枚举响应 {
NO_ERROR = 0,
MISSING_DESCRIPTOR
……
};
它在Microsoft vs2005 下编译和工作。然而,我不确定 “静态” 的修改是什么.


在链接时合并全局数组/从多个编译单元填充全局数组

我想定义一个数组的东西,像事件处理程序。的内容
这个数组在编译时是完全已知的,但是在
多个编译单元,分布在多个


将内联关键字与模板一起使用是否有意义?

由于模板是在标头中定义的,并且编译器能够确定内联函数是否有利,它是否有意义?我听说现代编译器更了解何时inl.


创建向量的约定

我有一个类包含一个向量 <vector<int>> 邻接列表;
哪个更常用于初始化矢量向量?
1)
邻接列表 = vector<int>>(


浮点值上的Negate运算符vs boost::math::changesign

我发现了boost::math::changesign函数,但找不到使用它的基本原理。互联网保持无线电沉默,甚至提升自己也很少使用它。
我的想法是:
有一些


C声明平台独立的 32 位浮点

有没有办法在C中声明 32 位浮点值-确保无论平台/编译器如何,它总是 32 位?
我可以这样做的整数:
# Include <stdint.h.


C中的假共享

我有几个类遭受缓存争用,并分配了 “新” 运算符。我可以以某种方式确保 “new” 返回与缓存行对齐的地址吗?
我正在使用GCC (我.


C编译原始二进制文件的windows编译器?

我需要一个C编译器,可以编译原始二进制文件 (没有结构或头)。我尝试使用GCC,我做不到。有人有什么建议吗?


返回C对象-最佳实践

我是C的新手,我陷入了以下问题:
假设您有一个创建新对象并返回此对象的函数。做到这一点的最佳方法是什么?
我发现了 3 个不同的


在C中给const变量赋值

有一个全局变量,除了一个ISR函数,我不希望任何人改变,这个变量是g_epoch,所以请看下面的代码:
# Include <stdint.h>
Volatile const uint32_t g_epoch = 0;
V.


如何在c中按值传递数组

我有以下代码
# Include <iostream>
使用命名空间std;
Int * sort(int arr[]){
For (int i = 0; i< 1; i ){
For (int j = 1; j< 5; j ){
如果 (arr[i]< ar.


我应该使用shared_ptr还是unique_ptr?

我有一个关于std::unique_ptr和std::shared_ptr的问题。我知道有很多关于何时使用哪一个的问题,但是我仍然不确定我是否理解正确。我在某个地方读到过.


需要了解参数在c中作为 (className & arg) 传递时

//Const对象
# Include <iostream>
使用命名空间std;
类MyClass {
Int x;
公众:
MyClass(int val) : x(val) {}
Const int & get() const {return x;}
};
Void print (const


LNK2005.已经在.中定义。Obj

我是初学C程序员,我不知道如何修复这段代码。我在堆栈溢出上找到了问题的原因,但是我没有找到我的案例的解决方案。
错误列表
LNK2005 "int X::.


什么是模板 <> inline bla bla

我偶然发现以下内容:
模板 <> 内联bool值::GetValue<bool>() const {
Return m_Value.ValueBoolean(); // union
}
无法理解什么是空模板declar.


放置一个POD

可能重复:
C 11 emplace_back on vector<struct>?
PODs可以放置吗?它似乎在Visual Studio 2012 中不起作用:
结构X
{
Int a;
Int b;
};
无效wh.


C对象: 我应该什么时候使用指针或引用

我可以使用一个对象作为指向它的指针,或者它的引用。我理解的区别是指针必须手动删除,引用保留直到它们超出范围。
当shoul.


C Vector catch调整内存泄漏

我试图保存一个向量充满指针到圆对象。
有时bad_alloc catch工作,但有时它不工作,然后我得到错误消息:
此应用程序已请求R.


一个有趣的结果,当我typecast te输出

当我键入输出时,我正在观察一个有趣的结果:
下面是代码片段:
Int bitSize = (int)log10(1.0*16)/log10(2.0); //bistsize = 3 应该是 4
Int temp = log10(1.0*16)/lo.


C复制矩阵时的分段错误

我对矩阵有一个问题,问题是当我试图复制它时,它给了我错误的 “分割错误”。这是涉及的代码:
Main.cpp
无效委托人 (Tauler & tauler) {


为什么gcc警告缩小转换仅用于统一初始化?

我试图将长类型变量转换为int类型变量与统一的初始化和没有它。但我得到编译器警告只有统一的初始化。为什么?为什么不gcc.


& I和p都指向同一个变量,但显示不同的结果?

& I (inside main函数) 和p(inside func函数) 都持有相同的地址。我知道常量对象/变量不能修改,但是我可以增加我使用的变量 (.


将Textfile读取为String的最短方法

可能重复:
在c中,将文件slurp成std::string的最佳方法是什么?
我以为已经有这样的问题了,但是我找不到。所以我的问题来了。
W.


联合以提取数据

这个问题中的工会不会在使用它时引起UB:
联合数据
{
Unsigned int intValue;
无符号char argbBytes[4];
};
数据数据;
Data.int值 = 1235347;
Unsigned char alpha = data。


字符常量和函数名称的sizeof() 背后的逻辑

在C中,以下代码:
# Include <stdio.h>
Int main()
{
Char c = 'a';
Printf ("% d",sizeof(c),sizeof('a'));
返回 0;
}
产生结果 1 和 4?请解释一下逻辑?
还有,.


以ISO 8601 格式输出日期

如何在C中获得以下格式的日期:
2016-04-26T19:50:48Z
# Include <chrono>
# Include <ctime>
Time_t_tm = time(NULL);
Struct tm * curtime = localtime(& _ tm);


使用自定义std:: 设置比较器

我试图将一组整数中项目的默认顺序更改为字典式而不是数字,但我无法用g:
文件.cpp:
Bool lex_compare(const


C程序中明目张胆的浮点错误

我给double变量分配一个double字面量。
变量的值被截断,否则我无法理解为什么,例如差异为 0.0。
抱歉代码重复.


分配两个双打保证产生相同的位集模式吗?

这里有几个关于浮点数及其性质的帖子。很明显,比较浮动和双打必须始终谨慎。还讨论了要求平等.


C算术提升头的使用

我一直在使用一组模板来确定C中给定的两个原始类型的正确促销类型。这个想法是,如果你定义一个自定义的数字模板,你可以使用


C-在线程之间传递数据

我有一个线程池由 4 个线程组成: t1,t2,t3 和t4。它们同时运行,但t3 和t4 的输入取决于t2 的输出。我应该如何实现消息队列,以便.


我怎样才能安全地平均C中的两个无符号整数?

单独使用整数数学,我想 “安全” 平均C中的两个无符号整数。
我所说的 “安全” 是指避免溢出 (以及任何其他可以想到的东西)。
例如,平均.


上一页 下一页