问题列表 - 第2786页

你可以使用LINQ或lambdas来执行矩阵运算吗?

我知道如何使用for循环.是否可以使用LINQ或lambdas做这样的事情?

int[] a = { 10, 20, 30 };
int[] b = { 2, 4, 10 };
int[] c = a * b; //resulting array should be { 20, 80, 300 }
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

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

C++链接错误:使用模板化类的未定义符号

我正在从我写的一个类中得到一些非常奇怪的链接错误.我完全无法找到任何可以描述正在发生的事情的东西.

Visual Studio(Windows XP)

players.obj:错误LNK2019:未解析的外部符号"public:__thiscall TreeNode :: TreeNode(void)"(?? 0?$ TreeNode @ VPlayer @@@@ QAE @ XZ)在函数"public:__thiscall PlayerList :: PlayerList"中引用(void)"(?? 0PlayerList @@ QAE @ XZ)

Xcode(OSX 10.5)

未定义的符号:"TreeNode ::〜TreeNode()",引用于:player.o中的PlayerList :: ~PlayerList()

头文件:generics.h

class TreeNode : public BaseNode{
public:
    const static int MAX_SIZE = -1; //-1 means any size allowed. 
    const static int MIN_SIZE = 0;
    //getters
    int size() const;
    vector<C*> getChildren() const;
    //setters
    void setChildren(vector<C*> &list);
    //Serialization
    virtual void display(ostream &out) const;
    virtual void read(istream &in);
    virtual void write(ostream &out) const; …
Run Code Online (Sandbox Code Playgroud)

c++ linker

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

依赖于函数参数的C++数组大小会导致编译错误

我有一个简单的函数,其中一个数组声明大小取决于参数int.

    void f(int n){
        char a[n];
    };

    int main() {
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

这段代码在GNU C++上编译得很好,但在MSVC 2005上却没有.

我收到以下编译错误:

    .\main.cpp(4) : error C2057: expected constant expression
    .\main.cpp(4) : error C2466: cannot allocate an array of constant size 0
    .\main.cpp(4) : error C2133: 'a' : unknown size
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能纠正这个问题?

(我有兴趣使用MSVC,而不使用new/delete)

c++ arrays parameters declaration

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

为什么Delphi中字符串的内存过多?

我正在阅读一个大文本文件,其中有140万行,大小为24 MB(平均每行17个字符).

我正在使用Delphi 2009,文件是ANSI但在读取时会转换为Unicode,所以你可以说转换后的文本大小为48 MB.

(编辑:我发现了一个更简单的例子......)

我正在将此文本加载到一个简单的StringList中:

  AllLines := TStringList.Create;
  AllLines.LoadFromFile(Filename);
Run Code Online (Sandbox Code Playgroud)

我发现数据行似乎占用了比48 MB更多的内存.

实际上,他们使用155 MB的内存.

我不介意Delphi使用48 MB甚至多达60 MB允许一些内存管理开销.但155 MB似乎过度.

这不是StringList的错误.我之前尝试将行加载到记录结构中,我得到了相同的结果(160 MB).

我没有看到或理解什么可能导致Delphi或FastMM内存管理器使用3倍的内存量来存储字符串.堆分配不能低效,可以吗?

我调试了这个,并尽可能地研究它.任何关于为什么会发生这种情况的想法,或者可能有助于减少过量使用的想法都会受到高度赞赏.

注意:我使用这个"较小"的文件作为示例.我真的想加载一个320 MB的文件,但是由于这个多余的字符串要求,Delphi要求超过2 GB的RAM和内存不足.

Addenum:Marco Cantu刚刚发布了关于Delphi和Unicode的白皮书.Delphi 2009将每个字符串的开销从8个字节增加到12个字节(对于字符串的实际指针,可能还有4个字节).每17x2 = 34字节行额外增加16个字节,几乎增加了50%.但我看到超过200%的开销.150%的额外费用是多少?


成功!!感谢大家的建议.你们都让我思考.但是我必须给Jan Goyvaerts一个答案,因为他问:

你为什么使用TStringList?文件真的必须作为单独的行存储在内存中吗?

这使我得到了解决方案,而不是将24 MB文件作为140万行StringList加载,我可以将我的行分组到我的程序知道的自然组中.因此,这导致127,000行加载到字符串列表中.

现在每行平均190个字符而不是17个.每个StringList行的开销是相同的,但现在有更少的行.

当我将其应用于320 MB文件时,它不再耗尽内存,现在加载的RAM不到1 GB.(它只需要大约10秒钟加载,这是非常好的!)

将有一些额外的处理来解析分组的行,但在每个组的实时处理中不应该注意到它.

(如果你想知道,这是一个家谱程序,这可能是我需要的最后一步,它允许它在不到30秒的时间内在32位地址空间中加载大约一百万人的所有数据.所以我'我们仍然需要一个20秒的缓冲区才能将索引添加到数据中,以便显示和编辑数据.)

delphi memory-management utf-16 delphi-2009 fastmm

10
推荐指数
3
解决办法
4955
查看次数

opengl:如何避免纹理缩放

如何应用始终保持其原始比例的重复纹理(纹理中的1个像素=屏幕上的1个像素),而不管其应用的顶点数据如何.

我意识到这不是最常见的任务,但可以轻松设置opengl来做到这一点,还是我需要将某种掩模应用于尊重其原始外观的顶点数据?

编辑:在我的具体情况下,我试图绘制不同大小的2D椭圆,具有相同的像素模式.椭圆形由三角形扇形成,我很难在其上绘制任何类型的重复纹理.我希望有一些opengl配置组合可以很容易地做到这一点.此外,现在我意识到重要的是要提到我正在使用opengles,因为iPhone不可用.

opengl-es

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

应该将带有jquery代码的脚本块放在哪里放在ASP.NET MVC母版页上?

开始使用jquery并且无法获得asp.net mvc的hello world类型示例.尝试使用此脚本加载页面时,我收到运行时错误"对象预期".

A.脚本标记应放在母版页中的哪个位置?B.我可能做错了什么?我的页面中肯定有"a"元素?

<script src="../Scripts/jquery-1.2.6.min.js" type="text/javascript"></script>

            <script src="../Scripts/jquery.corner.js" type="text/javascript"></script>

            <script type="text/javascript">
                $(document).ready(function() {
                    $("a").click(function(event) {
                        alert("Thanks for visiting!");
                    });
                });
            </script>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery

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

CouchDB中的分页?

我将如何实现分页所需的查询?

基本上,当请求第1页时,获取前5个条目.对于第2页,获取下一个5,依此类推.

我计划通过couchdb-python模块使用它,但这不会对实现产生任何影响.

pagination couchdb

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

Java私有字段可见性

所以前几天我正在创建一个类,当我意识到它生成了以下工作代码时,使用Eclipse的方法创建了equals方法:

class Test {
  private int privateInt;
  [...]
  public boolean equals(Object obj) {
    [...]
    Test t = (Test) obj;
    if ( t.privateInt == privateInt ) {
    [...]
  }
}
Run Code Online (Sandbox Code Playgroud)

t.privateInt .. ???? 它假设是私人的!所以我想除了私有,受保护,包保护和公共之外还有一个字段可见性.

那么这里发生了什么?怎么称呼?有人会用这个吗?这不会破坏封装吗?如果班级没有改变者并且我改变了这个怎么办?这也发生在C++上吗?这是一个OO成语吗?如果没有,那为什么Java会这样做呢?

一般来说,我在哪里可以找到有关此信息?

谢谢.

java language-features visibility

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

VARCHAR像90年代一样吗?

  1. VARCHAR不存储Unicode字符.
  2. NVARCHAR存储Unicode字符.
  3. 今天的应用程序应始终与Unicode兼容.
  4. NVARCHAR需要两倍的空间来存储它.
  5. 第4点无关紧要,因为存储空间非常便宜.

Ergo:今天设计SQL Server数据库时,应始终使用NVARCHAR.

这听起来有道理吗?有没有人不同意任何前提?今天有没有理由在NVARCHAR上选择VARCHAR?

sql-server nvarchar

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

扩展方法的缺点?

扩展方法是一个非常有用的功能,您可以在任何类中添加所需的许多功能.但我想知道是否有任何不利因素可能给我带来麻烦.有什么意见或建议吗?

c# extension-methods

28
推荐指数
2
解决办法
7182
查看次数