小编Zig*_*ggy的帖子

在Java中通过引用传递和在C中传递指针有什么区别?

我已经学习Java几个月了,现在我开始学习C.

我有点困惑,我的印象是通过引用传递一个对象并传递指向该对象的指针是同样的事情:我认为不同的是,在Java中所有对象的传递都是自动完成的指针,如C必须在这里和那里洒上小小的星号和&符号.最近,在谈话中,我确信存在差异!

传递引用和传递指针有什么区别?

c java pointers pass-by-reference

15
推荐指数
2
解决办法
4096
查看次数

如何为Marionette模板提供数据属性?

在这里,我处于项目的开始阶段.我正在使用zurb-foundation和牵线木偶.我有一个元素正在渲染一个应该是标签的模板.目前的情况:

define([
  "backbone",
  "marionette"
], function(Backbone, Marionette) {

  MyItem = Backbone.Marionette.ItemView.extend({
    template: "#design-tabs",
    className: "section-container tabs",

    onRender: function() {
      $(this.el).foundation();
    }
  });

  return MyItem;
});
Run Code Online (Sandbox Code Playgroud)

没有标签.我认为这是因为<div>渲染替换<script模板中的>标签没有特定的数据属性(数据部分).我去寻找类似'className'的东西,我可以添加到上面的ItemView声明中以包含数据属性,但我已经干了.我想要的东西:

MyItem = Backbone.Marionette.ItemView.extend({
  template: "#design-tabs",
  data: {
    data-section: "",
    data-foo: "bar"
  },
  className: "section-container tabs",
  .
  .
  .
Run Code Online (Sandbox Code Playgroud)

如何将数据属性添加到<div>替换<script>模板中的(或其他)?

zurb-foundation marionette

12
推荐指数
2
解决办法
8936
查看次数

什么是C中的"私人标题"?

我最近一直在学习C,在我的一本教科书中,我找到了一个带有".r"扩展名的文件的引用.现在,你可以想象,谷歌搜索"r"或"文件扩展名r"没有效率,所以我想知道你是否可以帮助我.

它出现在以下代码块中

#include "new.r"

static const struct Class _String = {
  sizeof(struct String),
  String_ctor, String_dtor,
  String_clone, String_differ
};

const void * String = & _String;
Run Code Online (Sandbox Code Playgroud)

作者提到它是一个"私人标题",但我希望他能更明确地知道究竟是什么.

c private-header c-preprocessor

11
推荐指数
3
解决办法
6335
查看次数

是否可以编写代码来编写代码?

我听说有些东西作为计算机程序员不能做,但我不知道它们是什么.我最近发生的一件事是:如果有一个类可以复制它运行的程序的源代码,修改该程序并向该类添加一个方法,然后运行,那会不是很好程序的副本并终止自身.代码是否可以编写代码?

theory

9
推荐指数
3
解决办法
1359
查看次数

什么时候线程超出范围?

我编写了一个程序来计算文本中的行,单词和字符:它用线程来完成.它有时很好用,但其他时候却不那么好.最终发生的是指向单词数量的变量,计算的字符有时会变短,有时则不会.

在我看来,线程有时会在他们可以计算他们想要的所有单词或字符之前结束.是因为当while(true)循环中断时这些线程超出了范围吗?

我已经在下面的问题中包含了代码:

private void countText() {
  try {
    reader = new BufferedReader(new FileReader("this.txt"));
    while (true) {
      final String line = reader.readLine();
      if(line == null) {break;}
      lines++;
      new Thread(new Runnable() {public void run() {chars += characterCounter(line);}}).start();
      new Thread(new Runnable() {public void run() {words += wordCounter(line);}}).start();
      println(line);
    }

  } catch(IOException ex) {return;}

}
Run Code Online (Sandbox Code Playgroud)

(子问题:这是我第一次询问某些内容并发布代码.我不想使用StackOverflow代替谷歌和维基百科,我担心这不是一个合适的问题?我试图让问题更一般,所以我不只是要求我的代码帮助......但是,是否有另一个网站,这种问题可能更合适?)

java multithreading scope

9
推荐指数
1
解决办法
3134
查看次数

在Java中使用ArrayLists进行转换

对不起,我认为这是一个继承问题:它一直是一个ArrayList问题!

好吧,我的问题比我想象的更具体.所以我有两个班级.卡片和区域.区域是持卡的盒子.

Zone,ZoneList和ZoneMap的前两个子类是存储卡的两种不同方式.其他子类,如Hand和PokerHand,有自己特定的方式处理他们存储的卡片.

复杂的地方就是Card也有子类,比如PokerCard,而ZoneList和ZoneMap的子类就是为了组织它们.

所以在ZoneList中,我protected ArrayList<Card> cardBox;和PokerHand一直希望能够申报,cardBox = new ArrayList<PokerCard>();因为PokerCard是一张卡.我得到的错误是,当涉及到ArrayLists时,我显然无法在Card和GangCard之间施放......所以我试图通过将cardBox重新声明为PokerHand private ArrayList<PokerCard> cardBox;内部来解决这个问题,但这导致了隐藏的问题我的节目.

那么,问题是关于在ArrayLists之间进行转换?Java告诉我,我不能,所以任何关于我如何的想法?

ž.

java casting arraylist

8
推荐指数
5
解决办法
4万
查看次数

崩溃有多严重?

我经常听说C会崩溃.最近,当我希望返回一个字符串的函数返回一些快乐的面孔时,我第一次尝到了这个.从那时起,我一直在更加小心地初始化指针和为数组mallocing内存.尽管如此,我仍然很难相信一个程序可能会严重崩溃......

我想这取决于该计划的范围?我的意思是,如果一个处理你的粉丝的程序中的一个错误将幸福的面孔复制到记忆中的一些重要空间......?

我的问题是,在壮观的C崩溃世界中有多少神话?我可以得到一些应该避免的危险事物的具体例子吗?

ž.

c crash

8
推荐指数
8
解决办法
3323
查看次数

第9条诫命是什么意思?

在C程序员的十诫中,你对第9条诫命的解释是什么?

第9条诫命:

你的外部标识符在前六个字符中应该是独一无二的,尽管这种严厉的纪律是令人厌烦的,它的必要年代在你看来没有结束之前就会延伸,以免你撕裂你的头发并在那个命运的日子里生气,当你想要制造你的时候程序在旧系统上运行.

究竟这是什么一回事?

c

8
推荐指数
5
解决办法
3709
查看次数

为什么tv_sec和tv_usec在确定计时器的持续时间方面都很重要?

手册页getitimer(2)声称

tv_sec和tv_usec在确定计时器的持续时间方面都很重要

它没有继续说明为什么会这样.在我遇到的很多例子中,tv_sec只是设置为0,而tv_usec给出了一些合理的值,反之亦然.这些计时器是否同时倒计时,还是总倒计时时间为tv_sec + tv_usec?我应该同时使用吗?都不是?

c timer

8
推荐指数
1
解决办法
4万
查看次数

我可以在堆上创建新结构而无需定义构造函数吗?

我知道c ++中的结构和类之间的差异很小(两个?).尽管如此,我已经被指示使用结构来定义简单的小东西,例如可能不需要成员函数的节点(尽管事实上我可以在技术上包括include成员函数).例如,我可以将节点定义为链表类的私有成员,如下所示:

class LinkedList {
  struct Node {
    MyObject *data;
    Node *next;
  };

  Node *list;

};
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,是否可以在堆上创建此结构的新实例,还是需要定义构造函数?有没有办法在没有new运算符的情况下在堆上创建东西?或者,更好的是:我是否没有必要紧紧抓住我不应该为结构定义成员函数的概念?我应该继续定义一个吗?或者如果我这样做,是否会承认Node真的应该是一个内部类,而不是内部结构?我真的应该担心这些事吗?哪个更具可读性?

谢谢!

c++ heap struct memory-management coding-style

7
推荐指数
3
解决办法
2万
查看次数