问题列表 - 第48317页

STL - 复制混合容器

我想了解STL算法.

复制定义为:

template<class InputIterator, class OutputIterator>
  OutputIterator copy ( InputIterator first, InputIterator last, OutputIterator result )
Run Code Online (Sandbox Code Playgroud)

可以请一些人解释为什么当矢量和deques混合时以下工作有效但是当矢量和集合混合时失败.

#include <iostream>
#include <algorithm>
#include <vector>
#include <deque>
#include <deque>
#include <set>
using namespace std;

int main () {
  int myints[]={10,20,30,40,50,60,70};
  vector<int> myvector;
  vector<int>::iterator it;

  set<int> mset(myints,myints+8);
  set<int>::iterator setItr = mset.begin();




  deque<int> deq;
  deq.resize(10);
  deque<int>::iterator deqItr = deq.begin();
  myvector.resize(7);   // allocate space for 7 elements
  copy ( myints, myints+7, myvector.begin() );

  copy ( myvector.begin(), myvector.end(), deqItr );
  cout << "deque contains:";
  for (deque<int>::iterator …
Run Code Online (Sandbox Code Playgroud)

c++ stl

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

传递对输出位置的引用与使用return

在调用提供简单数据类型的函数时,哪个更好的性能 - 让它填充内存位置(通过指针传递)或让它返回简单数据?

我在这里过度简化了返回静态值5的示例,但假设确定返回值的查找/功能在现实生活中是动态的......

传统逻辑会告诉我第一种方法更快,因为我们通过引用操作而不是像第二种方法那样返回副本......但是,我想要别人的意见.

谢谢

void func(int *a) { *a = 5; }

要么...

int func() { return 5; }

c++ performance pass-by-reference

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

wp7中的StringFormat?

有没有办法在一个TextBlock中组合静态文本和绑定?因为StringFormat在Windows Phone 7中不起作用.我试试

<TextBlock Text="{Binding strAudioArtistName, StringFormat=StaticText: {0}}"/>
Run Code Online (Sandbox Code Playgroud)

但不要工作....

谢谢

silverlight windows-phone-7

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

无法加载符号或在核心程序集中断,加载符号选项变灰

我已经设置了"使用符号服务器"选项,只是为了确保加载了正确的符号,我删除了符号缓存.运行我的ASP.NET应用程序时,我看到弹出窗口告诉我正在下载符号.

我已禁用"仅我的代码",并启用"启用.NET Framework源代码".在过去,这足以能够逐步执行.NET代码库.

当我使用IntelliTrace中断时,调用堆栈中的所有非用户代码都显示为灰色.检查模块窗口,例如System.Web.Dll和mscorlib"Symbols not loaded"对于System..dll和System.Xml.dll,它说"符号已加载".

通常,您可以右键单击并选择"加载符号",但这是灰色的.有什么想让这个再次运作?

http://www.undermyhat.org/blog/wp-content/uploads/2011/03/Grayed-out-Load-Symbols.png

c# debugging visual-studio-2010 debug-symbols

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

如何使用var前缀正确传递对象类型的参数?

综述:

type 
  MyObject = object
  end;

  MyRecord = record
  end;

  MyClass = class
  end;

  procedure ProcA(aMyObject: MyObject);
  procedure ProcB(var aMyObject: MyObject);
  procedure ProcC(aMyRecord: MyRecord);
  procedure ProcD(var aMyRecord: MyRecord);
  procedure ProcE(aMyClass: MyOClass);
  procedure ProcF(var aMyClass: MyClass);
Run Code Online (Sandbox Code Playgroud)
  1. MyObject并且MyRecord是值类型,而是MyClass引用类型.
  2. 值类型变量的赋值将复制变量; 赋值引用类型的变量将复制引用.
  3. 在参数ProcAProcC是原有的副本.
  4. 在参数ProcBProcD是原始的.
  5. 参数in ProcE是原始参考的副本.
  6. 参数ProcF是原始参考.
  7. 关于如何包装Agg2D对象(在单位agg_2D.pas中声明)来绘制,请参阅下面的David的答案.

===========================================
我正在学习使用AggPas这是一个纯粹的pascal矢量图形绘制API.具体来说,使用包含Agg2D对象的单元agg_2D.pas而不是包含TAgg2D类的单元Agg2D.pas.在Agg2D.pas单元上选择单元agg_2D.pas的原因是为了跨平台能力.

但是,我无法使用var前缀正确传递Agg2D对象类型的参数.如下面的代码所示,我想将TForm1创建的Agg2D对象传递给另一个实际负责绘制形状的类.但是,它不起作用.你能帮忙评论可能的原因吗?看来我一定错过了有关对象类型的重要概念.任何建议表示赞赏!您可以新建一个VCL应用程序,附加FormCreate处理程序,并逐行注释掉绘图代码以查看效果.

    unit Unit1;

    interface

    uses
      agg_2D,
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;

    type
      TRenderEngine_BMP = …
Run Code Online (Sandbox Code Playgroud)

delphi arguments var object aggpas

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

当聚类为另一个类的成员时,如何获取类的"所有者"(而不是父级)

聚合优先于继承.在继承中可以知道父.在聚合中如何知道C#中的所有者?

如果我添加一个明确的引用,那是邪恶的,因为我会以另一种方式创建一个依赖,而编译器肯定知道父.有没有办法破解使用反射或其他东西,除了创建此引用.

如果所有者不知道,Visual Studio如何构建调用堆栈?Visual Studio知道连接实例的所有链接,因此应该有办法完成Visual Studio的工作吗?

c#

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

为什么我不用Javascript和Javascript HTML模板构建整个Web应用程序?

我在应用程序中找到了我需要开始缓存的东西,它让我思考......

  1. 在应用程序的某些部分,我通过抓取纯JSON并通过像Mustache,jquery.tmpl等运行它来呈现表行(jqGrid,slickgrid等)或花式div行(如在新推特中).
  2. 在应用程序的其他部分,我只是在纯HTML(服务器端HAML模板)中呈现信息,如果有搜索/分页,我只是转到一个新的URL并加载一个新的HTML页面.

现在的问题在于缓存和可维护性.

一方面我在想,如果一切都是使用Javascript HTML模板构建的,那么我的应用程序只提供HTML布局/ shell和一堆JSON.如果你看看Facebook和Twitter HTML源代码,那基本上就是他们正在做的事情(95%json/javascript,5%html).这将使我的应用程序只需要缓存JSON(页面,操作和/或记录).这意味着无论你是一些远程api开发人员访问JSON api还是海峡网络应用程序,你都会点击缓存.也就是说,我不需要2个缓存,一个用于JSON,一个用于HTML.这似乎将我的缓存存储减少了一半,并简化了一些事情.

另一方面,我正在思考,从我所看到/经历过的,生成静态HTML服务器端,以及缓存,似乎是更好的性能明智的跨浏览器; 你可以立即获得图形,而不必等待javascript渲染它.StackOverflow似乎用普通的HTML做所有事情,Google也是如此,你可以告诉......一切都出现了.请注意,如果在twitter.com上,该页面为.5-1秒是空白的,并且页面块中包含:javascript必须呈现json.这样的缺点是,对于任何动态(如无限滚动或网格),我必须创建javascript模板...所以现在我有服务器端HAML模板,客户端javascript模板,以及很多更多缓存.

我的问题是,对于如何处理这个问题有什么共识吗?您将两者混合在100%与另一种混合的经验中有什么好处和缺点?

更新:

导致我尚未决定使用100%javascript模板的原因有以下几个原因:

  • 表现.还没有正式测试过,但从我看到的情况来看,原始html比javascript生成的html跨浏览器更快,更流畅.另外,我不确定移动设备如何处理动态html性能.
  • 测试.我有很多集成测试可以很好地与静态HTML一起使用,因此切换到仅javascript需要1)更集中的纯javascript测试(jasmine),以及2)将javascript集成到capybara集成测试中.这只是时间和工作的问题,但它可能很重要.
  • 维护.摆脱HAML.我喜欢HAML,编写起来非常简单,打印漂亮的HTML ......它使代码干净,使维护变得简单.使用javascript,没有什么是简洁的.
  • SEO.我知道谷歌处理ajax /#!/path,但还没有意识到这将如何影响其他搜索引擎以及旧浏览器如何处理它.好像它需要一个重要的设置.

html javascript performance json templating

18
推荐指数
2
解决办法
3371
查看次数

按两个字段对Python列表进行排序

我有一个从排序的csv创建的以下列表

list1 = sorted(csv1, key=operator.itemgetter(1))
Run Code Online (Sandbox Code Playgroud)

我实际上想按两个标准对列表进行排序:首先是字段1中的值,然后是字段2中的值.我该怎么做?

python sorting

153
推荐指数
4
解决办法
13万
查看次数

解决Thrust/CUDA警告"无法分辨指针指向哪个......"

我正在尝试使用Thrust/CUDA 4.0构建一个简单的应用程序并获得大量警告"警告:无法告诉指针指向哪个,假设全局内存空间"

有没有其他人看过这个,我如何禁用它们或修复我的代码?

谢谢,

阿德

这是我的代码.

Hello.h

class DECLSPECIFIER Hello   
{ 
private:
    thrust::device_vector<unsigned long> m_device_data;

public:
    Hello(const thrust::host_vector<unsigned long>& data);
    unsigned long Sum();
    unsigned long Max();
};
Run Code Online (Sandbox Code Playgroud)

Hello.cu

#include "Hello.h"

Hello::Hello(const thrust::host_vector<unsigned long>& data)
{
    m_device_data = data;
}

unsigned long Hello::Sum()
{
    return thrust::reduce(m_device_data.cbegin(), m_device_data.cend(), 0, thrust::plus<unsigned long>());
}

unsigned long Hello::Max()
{
    return *thrust::max_element(m_device_data.cbegin(), m_device_data.cend(), thrust::less<unsigned long>());
}
Run Code Online (Sandbox Code Playgroud)

输出

1>  Compiling CUDA source file Hello.cu...
1>  
1>  C:\SrcHg\blog\HelloWorld\HelloWorldCuda>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version 2008 -ccbin "C:\Program …
Run Code Online (Sandbox Code Playgroud)

cuda visual-studio-2010 thrust

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

Ruby - 生成所有两个字母的单词

我试图生成一个包含所有两个字母组合的数组.

什么是生成它的最佳方式.

有人可以帮帮我吗?

ruby arrays

5
推荐指数
2
解决办法
1346
查看次数