小编Ste*_*fan的帖子

C++ STL:带指针的列表 - 迭代器无法访问?

我正在使用一个STL列表来保存我的"对象"对象的指针.

我宣布:

list<Object*> objectlist;
Run Code Online (Sandbox Code Playgroud)

并插入:

this->objectlist.push_back(new Object(address,value,profit));
Run Code Online (Sandbox Code Playgroud)

并试图像地图和其他人一样迭代:

list<Object*>::iterator iter;

iter = this->objectlist.begin();

while(iter != this->objectlist.end())
{
    iter->print();
}
Run Code Online (Sandbox Code Playgroud)

其中print()是类Object的公共方法;

这里有什么不对?

我无法通过迭代器访问列表中的对象?

c++ stl list

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

Java整数比较:大于

我有一百万个整数的数组,因为我正在尝试并行快速排序.我有时会遇到以下奇怪的行为:

要检查数组是否正确排序,我在排序后输入以下代码:

for(int j=0; j < array_parallel.length-1; ++j)
   if(array_parallel[j] > array_parallel[j+1])
    System.out.println("ERROR! NOT SORTED CORRECTLY!");
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我得到错误输出,它没有正确排序,当我调试时,我发现以下(例如,总是不同):

j = 1942 array_parallel [1942] = 6000; array_parallel [1943] = 6000;

(尝试忽略数字,它不是任何特定的值或范围)所以它总是在左值等于正确值的情况下.好吧,为了比较大,这应该返回false,但我定义得到输出.

到底出了什么问题!?

我甚至交叉检查数组并正确排序.如果我绘制一个小阵列(大约100)它也很好.我是否想念我的思绪欺骗我的东西?

编辑21:32(UTC + 1):

private static int ANZAHL = 1000000;        // Größe des Arrays

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int array_single[] = new int[ANZAHL];
        int array_parallel[] = new int[ANZAHL];

        Speedmeasure sp_single = new Speedmeasure();
        Speedmeasure sp_parallel = new Speedmeasure();
        ArrayReader ar = null;

        try { …
Run Code Online (Sandbox Code Playgroud)

java comparison integer

6
推荐指数
1
解决办法
3365
查看次数

这个声明来自哪里:main _2a((argc,argv),int argc,char*argv [])

我正在将HP-Unix下的大量Oracle Pro*C代码迁移到Linux环境中.

在程序中只定义了这样一个主要方法:

main _2a((argc,argv), int argc, char * argv[])
{
...
}
Run Code Online (Sandbox Code Playgroud)

我以前从未见过这样的装饰 - 并且没有找到谷歌的任何东西.无论如何,它的工作原理和我所看到的用作主要功能.

任何人都能说出这个吗?

编辑:好提示 - 有一个宏定义:

 # define _2a(list,a1,a2)                 list a1;a2;
Run Code Online (Sandbox Code Playgroud)

仍然没有明确的观点(对我来说..)

c oracle-pro-c

6
推荐指数
2
解决办法
318
查看次数

nightwatchjs上的浏览器变量是什么

我刚刚了解了nighwatchjs并尝试了解编写测试的框架.根据示例,我可以使用变量浏览器注意到api - 我无法找到有关API Reference或任何外部文档的更多信息.

我想我理解了页面对象设计模式的概念,我在使用选择器等方面经验丰富.

但我想了解更多关于使用的浏览器对象,因为它让我感到困惑的是:

考虑这个例子:

this.demoTestGoogle = function (browser) {
  browser
    .url('http://www.google.com')
    .waitForElementVisible('body', 1000)
    .setValue('input[type=text]', 'nightwatch')
    .waitForElementVisible('button[name=btnG]', 1000)
    .click('button[name=btnG]')
    .pause(1000)
    .assert.containsText('#main', 'The Night Watch')
    .end();
};
Run Code Online (Sandbox Code Playgroud)

我可以理解它使用谷歌网址并将等待1000毫秒使身体标签可见,输入夜班值,等待,单击按钮,暂停完成某些事情并做一些断言.但是浏览器变量对我来说仍然是匿名的 - 我还可以用它做些什么呢?

nightwatch.js

6
推荐指数
1
解决办法
5462
查看次数

Javascript 如何知道变量是什么类型?

我不知道为什么我过去几年从来没有问过自己这个问题,但突然间我无法为自己或谷歌找到任何答案。

众所周知,Javascript 没有变量类型。真是一件好事。但不知何故,它必须确定类型并使用它。

var a = 1;
var b = 2.0;
var c = 'c';
var d = "Hello World!";
Run Code Online (Sandbox Code Playgroud)

所以我们拥有的是一个整数、双精度/浮点数、字符、字符串(可能会被拆解为 char*)

我知道 JS 与运行时解释器一起工作,但考虑到逻辑和“类型”必须以任何方式实现..

那么 Javascript 解释器如何识别和内部处理变量呢?在我的想象中,假设我会编写 C++,我会想到一种模板和容器以及一些重载运算符并尝试检查它到底是什么的逻辑。但这并没有考虑到最后。

请与我分享您的知识:-)

javascript types

5
推荐指数
1
解决办法
1773
查看次数

关于schifra库的RS代码 - 如何设置多项式?

我目前正在尝试让schifra库运行以进行一些测试,以便稍后在我的代码中实现它.

我目前正在查看schifra_reed_solomon_example02.cpp并尝试了解如何设置值以满足我的需求.

/* Finite Field Parameters */
   const std::size_t field_descriptor                 =   8; // GF(2^8) ok
   const std::size_t generator_polynommial_index      = 120; // what is this?
   const std::size_t generator_polynommial_root_count =  32; // polynomial up to x^32

   /* Reed Solomon Code Parameters */
   const std::size_t code_length = 255;  // amount of symbols in codeword
   const std::size_t fec_length  = 32;  // minimal distance d ?
   const std::size_t data_length = code_length - fec_length; // amount of symbols my message has
Run Code Online (Sandbox Code Playgroud)

所以我试图得到的是一个RS代码,n,k,d =(128,16,113)

我将继续以下内容:

/* Finite …
Run Code Online (Sandbox Code Playgroud)

c++ error-correction reed-solomon

5
推荐指数
1
解决办法
479
查看次数

从非参数化构造函数调用高级构造函数的好样式?

我正在与一些同事讨论Java构造函数,设计模式以及使用非参数化构造函数初始化对象的好方法,如果我通常等待一些参数的话.

其中一个较老的人提出了他的实现方式总是如下:

public class Foo {

public Foo() {
this(0,0,0);
}

public Foo(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
..
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,这是好风格,它的行为究竟是什么?

从我的理解应该是:

  • 它首先实例化一个Object,然后调用参数化构造函数,用该参数设置构造该类型的新对象,并设置自己对新参考的引用.因此,GC必须删除第一个创建的.

java design-patterns coding-style

4
推荐指数
2
解决办法
291
查看次数

检测未使用的CSS类

我正在寻找一个工具,插件能够检查我的Web部署,如果在css样式表中是任何从未使用过的类.

我找到的所有东西都只是解释当前显示的网站,因此仍需要检查所有内容.

css

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

右键单击复制JTable的单元格值

我在一个由2列组成的JTable中显示了一些结果.

文件 - 结果

我实现了一个显示副本条目的JPopupMenu,我尝试复制单元格的值,我右键单击.

filelistTable.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
         if(SwingUtilities.isRightMouseButton(e))
         {
             TablePopupMenu popup = new TablePopupMenu(filelistTable, e.getPoint());
             filelistTable.setComponentPopupMenu(popup);
         }
    }
});
Run Code Online (Sandbox Code Playgroud)

-

    public TablePopupMenu(JTable table, Point p) {

        this.table = table;
        this.p = p;

        JMenuItem mntmKopieren = new JMenuItem("Kopieren");
        mntmKopieren.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                copyCellToClipboard();
            }
        });
        add(mntmKopieren);
    }

    public void copyCellToClipboard()
    {
        int r = table.rowAtPoint(p);
        int c = table.columnAtPoint(p);
        System.out.println(table.getValueAt(table.convertRowIndexToView(r), 
                table.convertRowIndexToView(c)));
        StringSelection entry = new StringSelection(table.getValueAt(table.convertRowIndexToView(r), 
                table.convertRowIndexToView(c)).toString());
        Clipboard clipboard = …
Run Code Online (Sandbox Code Playgroud)

java clipboard swing jtable jpopup

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

内部循环与外部循环具有相同的变量名称

假设以下简单代码:

for(int i=0; i < 1000; i++)
{
  cout << "Outer i: " << i << endl;
  for(int i=0; i < 12; i++)
  {
    cout << "Inner i:" << i << endl;
  }
}
Run Code Online (Sandbox Code Playgroud)

工作得很好.使用的两个循环中的变量名相同,输出正常.

我是否理解这两个变量都是在堆栈上创建的,当外部循环进入新的内部循环时,会创建一个新的"命名空间"(可能是错误的名称......)?但为什么会被覆盖?如果我在内部循环中为变量选择另一个名称,我也可以访问 i外部循环.

我有点困惑.

c++ nested-loops

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