问题列表 - 第24887页

非常基本的Javascript构造函数问题

在下面的JavaScript代码中调用main().我的问题是为什么调用第二个构造函数而不是第一个构造函数?我在这里错过了什么?

谢谢 !!

function AllInputs() {
   alert("cons 1");
   this.radioInputs = [];
   alert(this);
}

function AllInputs(radioElement) {
   alert("cons 2");
   this.radioInputs = [radioElement];
   alert(this);
}

AllInputs.prototype.toString = function() {
   return "[object AllInputs: radioInputs: " + this.radioInputs.length + "]";
}

function main() {
   var result = new AllInputs();
}
Run Code Online (Sandbox Code Playgroud)

javascript constructor

2
推荐指数
1
解决办法
142
查看次数

有没有一种安全/标准的方法来管理C++中的非结构化内存?

我正在构建一个玩具VM,它需要一块内存来存储和访问不同类型和不同大小的数据元素.我通过在所需大小的uint8_t*数据块周围编写一个包装类来完成此操作.该类具有一些模板方法,用于向/从内存块中的任意位置写入/读取类型化数据元素,两者都检查以确保不违反边界.这些方法使用memmove,我希望这是一种或多或少安全的方式.也就是说,虽然我愿意朝着这个方向努力,但我必须相信其他拥有更多专业知识的人曾经在这里,可能愿意分享他们的智慧.特别是:

1)C++标准(过去,现在,将来)中是否有一个类被定义为执行类似于我上面概述的功能?

2)如果没有,那里有一个(最好像啤酒一样免费)库吗?

3)除此之外,除了边界检查和将一种类型写入内存位置并读取与该位置不同的不可避免的问题之外,是否还有其他我应该注意的问题?

编辑

这是我正在尝试做的简化(即析构函数和其他一些相关的方法); 但它抓住了它的本质:


#include <stdint.h>
#include <assert.h>
#include <string.h>
#include <iostream>

class block
{
private:
    uint8_t *data;
    size_t size;

protected:
    block(const void* src, size_t size)
        : data(new uint8_t[size]), size(size) { ::memmove(data, src, size); }

    void set(const void* src, size_t dst_adr, size_t len)
    {
        assert( (size > dst_adr) && (size >  len) && ( (size - len) > dst_adr) );
        ::memmove(data+dst_adr, src, len);
    }

    void* get(size_t src_adr) const
    {
        assert( size > src_adr );
        return data+src_adr;
    } …
Run Code Online (Sandbox Code Playgroud)

c++ memory-management

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

在NSAttributedString中保存自定义属性

我需要在NSTextView中为所选文本添加自定义属性.所以我可以通过获取选择的属性字符串,向其添加自定义属性,然后用我的新属性字符串替换选择来实现.

所以现在我将文本视图的属性字符串作为NSData并将其写入文件.稍后,当我打开该文件并将其恢复到文本视图时,我的自定义属性消失了!在为我的自定义属性计算出整个方案后,我发现不会为您保存自定义属性.请查看以下重要提示:http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/AttributedStrings/Tasks/RTFAndAttrStrings.html

所以我不知道如何使用此自定义属性保存和恢复我的文档.有帮助吗?

cocoa attributes objective-c nsattributedstring

10
推荐指数
2
解决办法
7133
查看次数

有人能告诉我这意味着WriteLine("{0,-12}")

{0,-12}是我很好奇的部分..

我正在看这个例子

    Console.WriteLine("{0,-12} {1}", sqlReader.GetName(0),
                                         sqlReader.GetName(1));
Run Code Online (Sandbox Code Playgroud)

干杯:)

c# sql odbc

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

有没有关于使用FlashDevelop学习AS3的好教程?

我发现了这个问题,它提到了FlashDevelop wiki.但是,我根本找不到任何东西.

哪里是一个好的起点?我使用Flex SDK完成了一些MXML项目的工作,但从未进行过任何ActionScript编程.

flashdevelop actionscript-3

3
推荐指数
1
解决办法
6639
查看次数

Shift-reduce:何时停止减少?

我正在尝试学习shift-reduce解析.假设我们有以下语法,使用强制执行操作顺序的递归规则,受ANSI C Yacc语法的启发:

S: A;

P
    : NUMBER
    | '(' S ')'
    ;

M
    : P
    | M '*' P
    | M '/' P
    ;

A
    : M
    | A '+' M
    | A '-' M
    ;
Run Code Online (Sandbox Code Playgroud)

我们想要使用shift-reduce解析来解析1 + 2.首先,1被移动为NUMBER.我的问题是,它是否减少到P,然后是M,然后是A,然后是S?它是如何知道停在哪里的?

假设它确实一直减少到S,然后转移'+'.我们现在有一个堆栈包含:

S '+'
Run Code Online (Sandbox Code Playgroud)

如果我们转移'2',减少可能是:

S '+' NUMBER
S '+' P
S '+' M
S '+' A
S '+' S
Run Code Online (Sandbox Code Playgroud)

现在,在最后一行的任一侧,S可以是P,M,A或NUMBER,并且在任何组合都是文本的正确表示的意义上它仍然有效.解析器如何"知道"来实现它

A '+' M
Run Code Online (Sandbox Code Playgroud)

这样它可以将整个表达式减少到A,那么S?换句话说,在转移下一个令牌之前,它如何知道停止减少?这是LR解析器生成的关键难点吗?


编辑:问题的补充如下.

现在假设我们解析1+2*3.一些转移/减少操作如下:

Stack    | Input | Operation
---------+-------+----------------------------------------------
         | 1+2*3 …
Run Code Online (Sandbox Code Playgroud)

theory parsing context-free-grammar formal-languages shift-reduce

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

如何在.NET中的大文件中插入或删除字节

是否有可能从大文件的中间有效地插入或删除字节,如果是这样的话?或者我是否在插入或删除数据之后重写整个文件?

[A lot of Bytes][Unwanted Bytes][A lot of Bytes] - > [A lot of Bytes][A lot of Bytes]

or

[A lot of Bytes][A lot of Bytes] - > [A lot of Bytes][New Inserted Bytes][A lot of Bytes]
Run Code Online (Sandbox Code Playgroud)

.net c# file-io

7
推荐指数
1
解决办法
1813
查看次数

在GWT中需要解除绑定演示者的绑定

我按照此处给出的示例使用我的GWT应用程序中的MVP模式http://code.google.com/webtoolkit/doc/latest/tutorial/mvp-architecture.html

我为MainView中的每个面板都有一个MainPresenter和sub-presenter.为了展示一个新的子演示者,我做了这样的事情:

presenter = new PresenterA(new ViewA(), ....);
presenter.go(panel) // presenter clears the panel and itself to the panel
Run Code Online (Sandbox Code Playgroud)

何时PresenterA创建,它将自己绑定到事件中ViewA.我的问题是,切换到新演示者的正确方法是什么?现在,我只是创建一个新的演示者并将其附加到同一个面板,如下所示:

presenter = new PresenterB(new ViewB(), ....);
presenter.go(panel) // presenter clears the panel and itself to the panel
Run Code Online (Sandbox Code Playgroud)

我对这种方法有些怀疑.首先,当我切换到新的演示者时,我是否导致内存泄漏?我丢失了引用旧演示者的字段并将其从附加到的面板中清除.我想这意味着它应该是垃圾收集,但我不是很确定.其次,老主持人的事件绑定会发生什么?这些绑定是否会阻止演示者被垃圾收集?我需要先解开它们吗?

在没有内存泄漏和绑定到"死"事件的情况下处理切换演示者的情况的正确方法是什么.

javascript java mvp gwt memory-leaks

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

如何在Internet Explorer中自动执行链接

我正在尝试创建一个通过Web打印文档的应用程序.我创建了我的文档,并创建了一个带有元刷新标记的网页,其中包含以下内容:

<meta http-equiv="refresh" content="3;http://example.com/download.epl2" />
Run Code Online (Sandbox Code Playgroud)

我指定该文档具有内容类型的application/x-epl2,并且我在我的计算机上使用一个程序将相关的.epl2文件静默地发送到打印机.

我已将该网站放入我信任的站点区域.

目前Internet Explorer弹出"打开,保存,取消"对话框,没有自动打开文件的选项.

IE6/7/8中是否有设置可以让IE只是在没有提示的情况下打开文件?

编辑

文件的实际内容将根据作业而有所不同,但实际上它是遵循Eltron编程语言的文本.

编辑

我已经在Chrome和Firefox中完成了这项工作,选择"从现在开始自动打开此类型的文件"

编辑

这个程序将被使用的机器将实际上是仅限于从他们的网络浏览器访问我的网站的信息亭,所以我不担心流氓网站将文件发送到我的打印机.

编辑

我使用PHP在服务器端生成文档和HTML,但我希望解决方案与语言无关.

printing internet-explorer

2
推荐指数
1
解决办法
690
查看次数

防止签入SVN

我的团队在我们的软件平台上使用SVN,我们会定期创建标签以帮助保持模块版本的正确性.据我所知,最佳做法是在创建标签后不修改标签.然而,似乎有时诱惑太大并且对其中一个标签进行了修改.

有没有办法防止这些类型的签到,或者至少使它们完全痛苦,以便我们可以自动阻止它们?

谢谢,乔

svn svn-hooks

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