c++有关的问题


Std::ofstream二进制写入的意外结果

我是C std::stream的新手,我正在做一些测试。我有这个简单的代码:
Int i = 10;
Char c = 'c';
浮点数f = 30.40f;
Std::ofstream out("test.txt",std::ios::binary | std::ios::out);
如果 (出。


比较std::wstring和std::string

如何将wstring (如L “Hello”) 与字符串进行比较?如果我需要有相同的类型,我如何将它们转换成相同的类型?


使用CMake将多个静态库合并为一个

我有一个与cmake邮件列表中描述的问题非常相似的问题,在这个列表中,我们有一个依赖于许多静态库的项目.


使用boost::mpi对mpi中的消息大小有限制吗?

我目前正在openMPI上使用boost::mpi编写一个模拟,一切都很好。然而,一旦我扩大系统,因此必须发送更大的std:: 向量,我得到错误。
我已经


阵列分配

让我用一个例子解释一下-
# Include <iostream>
Void foo( int a[2],int b[2] ) //我明白,编译器不会为
//数组索引和


C得到从 0 到最大长长整数的随机数

我有以下功能:
Typedef unsigned long long int UINT64;
UINT64 getRandom(const UINT64 & begin = 0,const UINT64 & end = 100) {
返回开始> = 结束?0 : begin (UINT64).


矩阵的特征和导致NaN和-inf值

我有一个奇怪的问题,在我的软件 (c) 中使用Eigen (Tuxfamily)。
我正在通过计算每个像素的Hessian矩阵来分析 3D体积图像。
体积 (约 800x800x600).


非datatype模板参数,生成更多特化?

我的代码是:
# Include <iostream>
使用命名空间std;
模板 <typename T,int X>
类测试
{
私人:
T容器 [X];
公众:
Void printSize();
};
模板 <typ.


在编译时或main() 之前的运行时初始化函数指针的全局数组

我试图在编译时初始化函数指针的全局数组,在C或C中。像这样的事情:
模块.h
Typedef int16_t (* myfunc_t)(void);
Extern myfunc_array[];
模块。


如何构造本地唯一标识符名称?

我想动态创建一个唯一的变量名。
这是我的代码:
Int call(int i)
{
返回i;
}

# 定义XCAT3(a,b,c) a # # b # # c

# Define CALL_2(arg,place,line) int XCAT3(cl,place.


省略号在c上尝试catch

可以使用省略号try-catch来捕获所有可能导致崩溃的错误吗?有什么异常吗?
尝试
{
//一些操作
}
Catch (.)
{
}


Win32 API计时器

我使用系统定时器 (clock() 函数,见time.h) 来计时一些串行和USB通信。所有我需要的是大约 1 毫秒准确。我注意到的第一件事是,个别时间可以出去 (p.


从外部API比较相同类型的两个结构

所以基本上,我试图比较Vulkan的两个VkPhysicalDeviceFeatures,一个来自我正在看的VkPhysicalDevice,另一个对应于我实际需要的一组特性。A


无法使用fopen() 加载文件

我创建了一个程序,它接受一个文件并对其进行加密,但是现在我在打开文件进行读取时遇到了问题,fopen() 总是返回 0。
Void run(){
Char buffer[260] = { '\ 0' };
GetWindow.


指向堆栈变量的指针应该是易变的吗?

我知道我应该使用volatile关键字告诉编译器不要优化内存读取 \ 写入变量。我也知道,在大多数情况下,它应该只用于与非C内存交谈。
H.


C-回调到函数模板: 显式实例化模板

前提
我使用的是一个C库 (从C),它提供了以下接口:
Void register_callback(void * f,void * data);
Void invoke_callback();
问题
现在,我需要注册一个函数


如何在C中从二进制文件中读取单个位?

我们正在做一些随机数的实验。
给我的数据存储在a中。Bin文件,根据提供者的说法,它存储在独立的位中,也就是说,每一位都是假定的bool运行的.


使用标头中的块限制互斥范围

我有一个类有自己的工作线程,类的一些成员变量在主线程和工作线程之间共享。如何使用互斥只锁定成员变量.


如何获得一个函数在C中执行的确切次数?

# Include <iostream>
使用命名空间std;
Void callMe()
{
Int count = 0;
Cout <<"我被呼叫"<< count<<"times!\ n";
}
Int main()
{
CallMe ();
CallMe ();
Cal.


复制期间的字节交换

我需要在复制到另一个数组期间高效地交换数组的字节顺序。
源数组是某种类型; char,short或int因此所需的字节交换是明确的和.


“Int * a[5]” 和int(* a)[5] 之间有什么区别?

他们会在C和C上工作不同吗?


高效的无符号到签名强制转换,避免实现定义的行为

我想定义一个函数,它将一个无符号int作为参数,并将一个int全等模UINT_MAX 1 返回给参数。
第一次尝试可能是这样的:
Int unsigned_to_signed(uns.


在头文件中有 “使用命名空间” 语句可以吗?

许多程序员告诉我,在头文件中使用namespace <x> 语句是一个坏主意。我一直盲目地遵循这个建议,直到现在,我不明白为什么.


Constexpr函数的未定义符号

当我尝试编译以下代码时,我得到一个链接器错误: x86_64 体系结构的未定义符号: “Foo()”,引用自: _ main in main.o使用LLVM 4.2。
此行为仅发生在.


在C中静态全局和非静态全局标识符之间的区别是什么?

在C中静态全局和非静态全局标识符之间的区别是什么?


函数const参数

我徘徊为什么c允许声明这个?
Void f(int x);
Int main()
{
Int x;
Const int y = 0;
F (x);
F (y);
}
Void f(const int x)
{
}
为什么编译器允许你声明函数wit.


正在取C 11 中std::vector::operator[](size) 未定义行为的地址

这是未定义的行为吗?
Ptrdiff_t one() {
Std::vector<int> test(1);
返回 & 测试 [1] - & 测试 [0];
}
这是未定义的行为吗?
Ptrdiff_t zero() {
Std::vector<int>.


有没有办法指定使用printf() 打印出字符串的多少个字符?

有没有办法指定要打印出字符串的多少个字符 (类似于整数中的小数位数)?
Printf ("这是前 8 个字符: % s \ n","大于 8 个字符的字符串");
我们.


为什么使用引用作为迭代器

我正在学习std::vector的emplace() 并偶然发现这个代码:
//Vector::emplace
# Include <iostream>
# Include <vector>
Int main ()
{
Std::vector<int> myvector.


64 位机器上int和sizeof int指针的大小

我只是想知道我的笔记本电脑是 64 位还是 32 位。
所以,我考虑打印以下内容:
Int main()
{
Printf ("% d",sizeof(int));
}
结果是 4,


大端和小端支持字节排序

我们需要支持 3 个硬件平台 -- Windows (little Endian) 和Linux Embedded (big和little Endian)。我们的数据流依赖于它使用的机器,数据需要被破坏.


何时以及如何转换为char指针允许?

我们可以通过将指向T对象的T * 转换为char * 来查看T类型对象的表示。至少在实践中:
Int x = 511;
Unsigned char * cp = (unsigned char *)& x;
……


为什么大型本地阵列会崩溃我的程序,但全局阵列不会?

具有大型全局数组的程序:
Int ar[2000000];
Int main()
{
}
带有大型本地数组的程序:
Int main()
{
Int ar[2000000];
}
当我在main functio中声明大尺寸的数组时.


为什么要在c中使用std::string而不是C风格的字符串?

“人们应该总是在c风格的字符串 (char *) 上使用std::string” 是几乎每个源代码都在这里发布的建议。虽然建议无疑是好的,但实际问题是addr.


模块化算法和NTT (有限域DFT) 优化

我想使用NTT快速平方 (见快速bignum平方计算),但结果是缓慢的,即使真正的大数字。超过 12000 位。
所以我的问题是:
有没有办法去optimi.


方括号和C中的对类型

我从一本书里读了一段代码,但我并不真正理解语法,
Const auto & [local_min,local_max] = minmax(A[i],A[i 1]);
其中A是int和local_min和local_max的vector.


何时使用std::begin和std::end而不是容器特定的版本

是否有任何一般的偏好或规则,说明什么时候应该使用容器特定版本的begin和end,而不是自由函数std::begin和std::end?
这是我的理解t.


为什么有些包括需要。H和其他人没有?

为什么map导入为 # include <map>,而stdio导入为 # include <stdio.h>?


C-你应该用一个常规数组size_t?

我对size_t感到困惑。我知道这是无符号类型..对吗?
我的问题是,应该在什么时候使用。它应该与常规数组一起使用有什么原因吗?我是说,一个人必须宣布.


释放向量中的malloced char *?

我们被给予:
Typedef const char * V;
Typedef std::vector<V> Record;
我们在代码中的某个地方实例化记录,如:
记录rec;
我们通过malloc用数据填充它:
Void fixed_len_read (


在不使用第三个变量的情况下交换两个变量值

面试中问的一个非常棘手的问题。
交换两个变量的值,如a = 10 和b = 15。
通常要交换两个变量值,我们需要第3 个变量,如:
Temp = a;
A = b;
B = tem.


提高访问地图中的元素和写入文件的性能

我在C中有一个map结构,它可以容纳大约 6000万对。在我填充地图后,我想将其写入一个普通文件。
目前这个代码相当慢,我想知道你是否


依靠从任何数字类型 (unsigned,int,.) 到双倍的隐式提升是安全的吗?

我有一个图的模板类,它采用了权重类型的参数 (可以是无符号,int或double)。此外,为了比较双打,我使用以下类型的内联函数:
内联.


在哪里可以获得c标准手册?

在哪里可以获得c标准手册?
免费吗?
复制: 在哪里可以查看C标准


如何使用glibc的字符串实现在堆栈上分配std::string?

Int main(void)
{
Std::string foo("foo");
}
我的理解是,上述代码使用默认分配器调用new。所以即使std::string foo被分配在堆栈上.


C.增加文本文件中字符串向量的精度

我正在编写一个程序来读取一个文本文件,进行一些计算并输出到另一个文本文件中。这个程序运行良好,但是我遇到的问题是写入tex的数字.


C使用函数作为参数

可能重复:
如何在C中传递函数作为参数?
假设我有一个名为的函数
Void funct2(int a) {
}
Void funt (int a,(void)(* funct2)(int a)) {
;
}
什么是.


如何在没有项目的Visual Studio 2012 中只编译一个文件 (C)?

我有很多文件-C中的示例代码。
我打开每个文件,我必须将代码从示例文件复制到main.cpp文件在一些项目。
Visual studio能否编译中打开的一个文件。不带cpp


这是什么语法-new (this) T();

我碰到这样的C代码:
T & T::operator =(const T & t)
{
……
新 (本) T(t);
……
}
这条线对我来说看起来很陌生: new (This) T(t);
我可以看到它正在调用副本构造.


C.使用std::string,std::wstring作为缓冲区

使用WinAPI你可以经常遇到一些方法得到LPWSTR或LPSTR作为参数。有时这个指针实际上应该是一个指向缓冲区的指针,例如:
Int GetWindowTextW(HWND hWnd,


上一页 下一页