我有我很久以前写的代码,这些天我不会做那么多的'C++‘。我已经在“Visual C++ 2010学习版”中编译了代码,没有任何问题。我已经用vs2015编译了它,但是我得到了一个'std::array‘的错误。有没有人能解释一下我的错误。
这在“Visual C++ 2010学习版”中编译正常。
// create arrays to hold port write data
array<DataChunk>^ dataArray = gcnew array<DataChunk>(1008);
但在vs2015中编译时出现以下错误:
1>c:
我最近开始用C++编程,我在c++编程方面有相当丰富的经验,但我在尝试在c++中初始化多维数组时,遇到了一个相当不清楚的情况。
我将在java中使用的代码如下:
int x = 5;
int y = 10;
int array [][] = new int[x][y];
这很好,我可以使用扫描仪或选项窗格将任何值赋给x和y。但是(请原谅我,我对c++非常陌生)在c++中,我需要使用阻止我使用的常量,例如:
int x;
cin >> x;
int y;
cin >> y;
int array [][] = new int[x][y];
我试图做一个随机的地图生成器,最
我正在尝试使用c++中的sizeof运算符做一些事情。
请参考下面的代码片段。
#include <iostream>
using namespace std;
int main()
{
int *pint = new int[5];
int temp = sizeof(*pint);
cout << "Size of the int array is " << temp << endl;
return 0;
}
我期望输出为5*4 = 20。令人惊讶的是输出为4。有什么想法吗?
我需要从串行设备中读取数据,并将其放入缓冲区,由另一个线程使用。基本上,我想要做到这一点:
while(!exit){
// read from fd and push into the vector<char> buffer
}
并在C++中以正确的方式进行操作。我知道如何用C语言完成这个任务,如果有人能给我指明正确的方向,我会非常感激的。
从我迄今为止的发现来看,人们一直在建议:
read(fd, &vector[0], vector.size());
但是我不相信。特别是因为直接修改&vector[0]不会更新size() (或者它是吗?)似乎是修改基
这个问题是关于C++的
我一直认为C++中数组的名称只是一个指针,所以我认为
int ar[10];
cout << sizeof(ar);
会给我和sizeof(int *)一样的效果。但是它给出了40,所以它是整个数组的实际大小。当数组大小由变量给定时,它也会得到40:
int n = 10;
int ar[n]
我想复制一个包含数组的类。如果它是用操作符new分配的,那么我应该在一个复制构造函数中手动复制这个数组。但是固定大小的数组呢?class是只包含指向数组的指针,还是包含整个数组?简单的memcpy(...)在这里安全吗?
编辑:另一个示例:
int n;
cin &g
在处理arduino项目时,我创建了一些无法编译的C++代码。在理解了它停在哪里之后,它的本质如下: const int xx[]={12,5};
void setup() {
// put your setup code here, to run once:
const int yy[]={12,5};
}
class aaaa{
//compilation stops here giving error too many intialiazers for 'const int[0]'
const int zz[]={12,5};
};
void loo
我对指针不是很熟悉,因为我主要是做java,而java没有指针,现在我正在学习C++。在C++教程中,为了了解变量占用的内存大小,导师使用了指向变量的指针的大小,即,
int v = 23;
int *p = &v;
cout << sizeof(p) << endl;
这让我感到困惑,因为在我的第一年,我在C编程中被教导,我需要在变量本身上做大量的工作。所以我第一次得出结论,他们的意思是一样的。但是当我在我的电脑上试用时,我得到了不同的结果。我有以下代码..。
#include <iostream>
in
我尝试输出数组中元素对象的数量,但其语法与Java不同:
// print list of all messages to the console
void viewSent()
{
cout << "You have " << sent.size() << " new messages.\n";//Error: left of '.size' must have class/struct,union
std::cout << "Index Subject&
在C或C++中,增量和递减运算符(++n,--n)在sizeof()运算符中不执行。
int n = 100;
int size_int = sizeof(++n);
std::cout<<n;
我编写了这段代码并运行了程序。当然,我想101会给我看。但是,n不是101岁,而是100岁。
为什么会这样呢?