当我试图学习一些c++代码时,我发现了一些奇怪的东西,我不知道发生了什么。
int A[100000];
int main()
{
int N;
scanf("%d", &N);
for (int i = 0; i < N; i++)
{
scanf("%d", A + i);
}
我理解所有发生的事情,除了scanf("%d", A + i);行,这里的数组发生了什么?它只是将从控制台读取的整数添加到数组中吗?我对Java有很好的理解。
所以如果有人能把它翻译成Java。
我正在从Java迁移到C++,我真的很喜欢它。我不喜欢的一件事是根本不理解内存,因为Java曾经为我做过这件事。
我买了一本书: Memory as a Programming Concept in C and C++ - Frantisek Franek
有没有一些好的站点可以让我去交互式地学习C/C++和内存的使用(教程、论坛、用户组)?
我知道,在c中,自引用结构是允许的,但不允许自包含结构。借用示例
无效:
struct a
{
int someVar;
a bad;
};
有效:
struct a
{
int someVar;
a* good;
};
但是在Java中,以下类是有效的:
class Node {
int val;
Node next;
}
这看起来更像c中的无效示例。我的问题是:为什么这在Java中是合法的?
我觉得这与以下事实有关:在Java中,您只能访问引用(比如指针),而不是实际的对象,但我仍然不完全理解这一点。而搜索“Java中的自引用”并没有给出大量
我正在学习指南针,但我被下面的示例程序搞糊涂了。它应该完成char**到char*的转换,但我不理解程序背后的逻辑。节目在做什么?
#include <iostream>
using namespace std;
int main() {
char *notes[] = {"cpp","python","java","mariadb"};
void * base = notes; // notes and base, holds the address of note's first ele
Mat img=imread("image_location");
我研究过'img‘变量类似于java中的对象引用变量,它引用原始对象(在本例中是图像)。出于好奇,我想找出'img‘变量holds.If它指的是实际的对象,它应该保存一个地址,并在我使用
cout<<img;
但是,令人震惊的是,它将实际图像(像素值)返回到输出。我想我的理解有问题。请帮帮忙,我是一个菜鸟程序员,正试图让我的大脑理解这些概念。
可能重复:
我是C/C++语言的新程序员,由于我来自C#、Java、JavaScript以及一些Visual和Python的背景,所以我很难理解C++中的一些东西。
我已经知道如何使用引用和指针,以及它们的真正含义等等,但我不明白为什么和在哪里使用它们。我知道引用有时是这样使用的:
int x = 2;
void Square(int &value)
{
value = value*value;
}
Square(x);
cout << x << endl;
输出是4。
我想我不太明白为什么要这样做而不是这样做:
int x = 2;
i
前几天我问过这个问题,但并不是很具体,所以我想重新澄清一下。
我正在创建一个Android应用程序,它使用使用NDK的C语言中的现有库。我遇到的问题是C代码使用了很多java没有使用的东西(函数指针作为参数是一个大问题)。
无论如何,我想知道是否可以用我的Java代码编写C代码调用的函数。现在据我所知,你可以做到这一点,所以如果没有人回答‘是的,你可以,链接’,我将非常感激。我一直在研究它,但实际上需要做什么是我无法理解的。
有人能试着解释一下这个过程吗?我知道这涉及到在C代码中创建一个JVM;任何帮助新手站稳脚跟的信息都将不胜感激。
谢谢
编辑:
所以,我不知道这三个步骤该怎么做。
To c
我都不知道该怎么称呼这个。假设我试图从其他方法调用实例化类,而不是实例化该类的方法。(可能很难理解)
在java中,我只需要这样做:
public class MyClass {
ExampleClass classIwantToAccess; // This line here is the important part.
public MyClass()
{
classIwantToAccess = new ExampleClass();
}
public ExampleClass getWanted()
{