标签: reference

我如何创建一个对象引用变量数组?

所以我正在使用Java编写程序,每当我运行它时,我都会收到错误"线程中的异常"主"java.lang.NullPointerException".当我仔细观察它时,它似乎是由参考变量数组引起的.这是导致问题的代码:

    public class agendafunctions {
static String input = "true";
agendaitem item[] = new agendaitem[5];
public agendafunctions() {
    item[0].name = "one";
    item[1].name = "two";
    item[2].name = "three";
    item[3].name = "four";
    item[4].name = "five";
}
Run Code Online (Sandbox Code Playgroud)

name是类Agendaitem中的变量.从我在其他地方读到的,错误是由程序试图使用null值的变量引起的.但是,当我添加一个值时,它表示它无法从String或类型议程项目中转换.有人可以帮忙吗?

java arrays variables reference

0
推荐指数
1
解决办法
6638
查看次数

如何通过perl中的引用传递哈希值

我有以下代码,我写截断大值.

   sub truncate_large_email_tag
    {
      my($email_tag) = @_;
      my $size = length($email_tag);

    if ($size>5000) { 
        my $fragment = substr($email_tag,0,5000);
        $email_tag = $fragment;
        #log_it( "\n\Truncated Large Email tags\n\n") if $TRACE;
        }
Run Code Online (Sandbox Code Playgroud)

我在另一个子程序中使用调用来调用此子例程

  sub do_something
   {
  #some code here # CFG_PASS is a hash

        $EMAIL{$tag}=$CFG_PASS{$typ}{$tag}{$where . '_DEFAULTS'}; #Email        
        #tag initialized here
        truncate_large_email_tag($EMAIL{$tag});
        }
Run Code Online (Sandbox Code Playgroud)

但是当我检查$ EMAIL {$ tag}时仍然指向非截断值.难道我做错了什么?

variables perl hash reference subroutine

0
推荐指数
1
解决办法
169
查看次数

如何在csharp中访问泛型类的子类?

我在C#中有一个简单的问题:

我有一个类(属性)嵌入在泛型类(Box)中,如下所示:

public class Box<E> where E : Box{
    public class Properties {
    }
}
Run Code Online (Sandbox Code Playgroud)

如何从外部类引用子类(Properties)?我需要与此java语句等效的东西:

Shape<?>.Properties prop = new Shape<?>.Properties();
Run Code Online (Sandbox Code Playgroud)

谢谢

c# generics reference

0
推荐指数
1
解决办法
83
查看次数

传递对构造函数的引用

我很抱歉,如果这个问题是一个非常简单的问题,但我是c ++的新手,并且正在研究一个简单的vocable培训师来理解c ++.(来自java ..)

我想传递一个const FileManager参考我的逻辑.但我没有得到它的工作.我不想要副本等.

所以我试着这样:(主要)

FileManager& file = FileManager();
Logic logic = Logic(file);
Run Code Online (Sandbox Code Playgroud)

在逻辑内部我想存储参考:

class Logic
{
public:

    Logic(const FileManager& manager);
    ~Logic();

private: 
    const FileManager& m_fileManager;
};

Logic::Logic(const FileManager& manager) : 
{   
    m_fileManager = manager;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ reference

0
推荐指数
1
解决办法
167
查看次数

尽管创建了一个新对象,但对象引用未设置为object的实例

我目前正在制作一个基本的绘图程序.其中一个要求是能够保存绘制对象列表并将其重新加载.到目前为止,我编写了一个保存函数,将列表中的所有项目导出为XML格式,我目前正在研究装载部分.

只要程序遇到"<RechthoekTool>"(RectangleTool的荷兰语),它就会执行以下代码:

//Create new tool.
RechthoekTool tool = new RechthoekTool();

//Turn <Startpoint> and <Endpoint> into actual points
var sp = Regex.Replace(xn["Startpunt"].InnerText, @"[\{\}a-zA-Z=]", "").Split(',');
tool.startpunt = new Point(int.Parse(sp[0]), int.Parse(sp[1]));
var ep = Regex.Replace(xn["Eindpunt"].InnerText, @"[\{\}a-zA-Z=]", "").Split(',');
tool.eindpunt = new Point(int.Parse(ep[0]), int.Parse(ep[1]));

//Set colour and width of brush
string kleur = xn["Dikte"].InnerText;
kleur.Replace(@"Color [", "");
kleur.Replace(@"]", "");
Color c = Color.FromName(kleur);
tool.kwastkleur = c;
tool.kwast = new SolidBrush(c);
tool.dikte = int.Parse(xn["Dikte"].InnerText);

//Add to list
s.listItems.Add(tool);
Run Code Online (Sandbox Code Playgroud)

每当我运行程序时,我得到'NullReferenceException未处理'错误("对象引用未设置为对象的实例.")at

s.listItems.Add(工具);

但是,我确实在开始时实例化了这个工具,不是吗?可能导致此错误的原因是什么?一些谷歌搜索告诉我这可能是因为我忘了分配一个房产,但据我所知,我已经把它们全部覆盖了......

非常感谢帮助.

c# reference object

0
推荐指数
1
解决办法
257
查看次数

在C++中,是对象的名称(如队列,映射)引用(或指针)?

我只是一个简单的问题.举个例子,用C++中的函数:

queue<int> q1;
q1.push(1);
queue<int> q2=q1;
Run Code Online (Sandbox Code Playgroud)

我知道"q1"和"q2"本身只是地址(就像一个指针,我是对的吗?)可能存储在堆栈上,而真实数据存储在堆上.所以,如果我弹出q2,会出现1吗?

c++ variables pointers reference

0
推荐指数
1
解决办法
195
查看次数

String toString()方法

我想制作一个字符串的副本,而没有字符串变量引用前一个字符串.toString()方法会成为解决方案吗?

换句话说,String.toString()是否返回其字符的副本而不是对其自身的引用?

java string reference tostring

0
推荐指数
1
解决办法
1093
查看次数

C++汇编程序输出 - 如何实现引用

用于c ++和汇编程序的工具链:GNU

我有以下C++代码:

int main(void)
{
  int i = 33, j = 66;
  swap(i,j);

  cout << i << ", " << j << endl;

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

如果我现在检查生成的汇编代码,我会在swap调用区域中获得以下内容:

movl    $33, -24(%rbp)
movl    $66, -20(%rbp)
leaq    -20(%rbp), %rdx
leaq    -24(%rbp), %rax
movq    %rdx, %rsi
movq    %rax, %rdi
call    _ZSt4swapIiEvRT_S1_
movl    -20(%rbp), %ebx
movl    -24(%rbp), %eax
Run Code Online (Sandbox Code Playgroud)

交换例程本身是:

_ZSt4swapIiEvRT_S1_:
.LFB1232:
.cfi_startproc
pushq   %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq    %rsp, %rbp
.cfi_def_cfa_register 6
movq    %rdi, -24(%rbp)
movq    %rsi, -32(%rbp)
movq    -24(%rbp), %rax …
Run Code Online (Sandbox Code Playgroud)

c++ assembly reference

0
推荐指数
1
解决办法
232
查看次数

传递给java中方法的对象适用于原始副本

我有Sample一个领域的课,我正在做以下事情:

  1. 使用此类的对象作为参数调用方法.
  2. 对此对象进行一些操作.
  3. 原始对象毕竟发生了变化.

我对BigInteger类对象做同样的事情,它的工作方式不同.为什么会这样?

我的课:

public class Sample {
    private int number;

    public int getNumber(){
        return number;
    }

    public void setNumber(int number){
        this.number = number;
    }

    public Sample add(int number){
        this.number += number;
        return this;
    }
}
Run Code Online (Sandbox Code Playgroud)

调用:

public class Main {

    public static void main(String[] args) {
        Main m = new Main();
        BigInteger b1 = new BigInteger("5");
        Sample s1 = new Sample();
        s1.setNumber(3);
        System.out.println(s1.getNumber());
        Sample s2 = m.checkSample(s1);
        BigInteger b2 = m.checkBig(b1);
        System.out.println(s1.getNumber()+" "+s2.getNumber()); …
Run Code Online (Sandbox Code Playgroud)

java reference object biginteger

0
推荐指数
1
解决办法
89
查看次数

Java样式引用在C++中返回

考虑这个Java代码片段:

Vertex a = graph.addVertex(null);
Vertex b = graph.addVertex(null);
Run Code Online (Sandbox Code Playgroud)

是否有可能在C++中做同样的事情?C++中唯一的AFAIK选项是:

Vertex& a = graph.addVertex(NULL);
Run Code Online (Sandbox Code Playgroud)

或许这个:

typedef Vertex& Vertexref;
Vertexref a = graph.addVertex(NULL);
Run Code Online (Sandbox Code Playgroud)

当然,返回对象的副本也是可能的.

但Java语法对我来说似乎更直接.是否有可能在C++中使用它?

c++ java reference

0
推荐指数
2
解决办法
90
查看次数