【问题标题】:Is something similar possible in C++在 C++ 中是否有类似的可能
【发布时间】:2012-07-20 02:45:19
【问题描述】:

这里是一些示例 java 代码。这在 C++ 中也可以吗?

public class Example {
    public static void main(String args[]){
        int[][] a = new int[3][];
        a[0] = new int[]{1};
        a[1] = new int[]{1,2};
        a[2] = new int[]{1,2,3};
        display(a);
  }
}

【问题讨论】:

  • 是的,可以使用指针。你有问题吗?
  • 为什么你觉得在 C++ 中不可能?
  • jagged array in c 的可能重复项
  • 我想知道如何.. 很抱歉没有首先说明我的观点
  • 1.查看std::arraystd::vector。 2. 混合搭配,取决于你的需要。

标签: java c++


【解决方案1】:

如果问题是:“在图灵完备语言 Z 中可以完成时,是否可以在图灵完备语言 Y 中进行 X?”那么答案是肯定的。永远是的。

【讨论】:

    【解决方案2】:

    您应该使用指向指针的指针,类似于从 main(char **argv, ... argc) 收到的 argv

    字符串是一个字符数组,而 argv 是该结构的指针。

    你应该使用int **a,然后在内存中逐行创建,

    a 应该指向:

    a[0] => unnamed pointer => 0, 0, 0
    a[1] => unnamed pointer => 0, 0
    

    喜欢你做的时候

    argv[0] = "my program's name"
    argv[1] = "my first param"
    

    当使用 char 字符串时,末尾有一个 '\0' 字符,因此可以知道它何时结束,在这种情况下必须有某种控制王,不像 C 中的 Java,你可以溢出。

    【讨论】:

    • 我想我可以做到,因为我是一名 Java 程序员,这听起来有点棘手,但我想我可以做到。谢谢:)
    • 当然可以,但它不必要地复杂。不要使用 C++ 在 C 中编程。:(
    • 阅读有关 malloc 的信息,如果你在 C++ 中使用 new Witch 更简单并且可以处理构造函数,所以类似于: int *pointer_to_line = new int[ 10 ] // 十列,然后制作int **a 指向 pointer_to_line ( a[0] = pointer_to_line ),好的,你已经完成了这一行,下一行也是一样的。对于 [1] 等。
    • 它们来自 Java,即使它们不是,我仍然会首先为 C++ 推荐 std::vector<std::vector<int>> 的面向对象解决方案
    【解决方案3】:

    是的。

    这是可能的。你可以用 C++ 做任何事情。

    【讨论】:

    • 这就是 Linus Torvald 对 C 的评价。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多