小编fla*_*nik的帖子

new []是否在C++中调用默认构造函数?

当我使用new []创建我的类数组时:

int count = 10;
A *arr = new A[count];
Run Code Online (Sandbox Code Playgroud)

我看到它调用了一个默认的构造函数A count.其结果是arr已经count初始化的类型的对象A.但是,如果我使用相同的东西来构造一个int数组:

int *arr2 = new int[count];
Run Code Online (Sandbox Code Playgroud)

它没有初始化.所有值都类似于-842150451int的默认构造函数将其值赋值给0.

为什么会有这么不同的行为?默认构造函数是否仅针对内置类型调用?

c++ arrays standards new-operator

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

对于使用C++编写的学生来说,学习编写GUI有什么好处:C#vs QT?

我是大学CS的老师(讲师).该课程基于Cormen和Knuth以及学生用C++编写的程序算法.但有时,通过GUI显示算法的工作原理或任务结果是很好的.在我看来,能够编写完整的程序是非常重要的.他们将有关于GUI的课程,但实际上,在毕业之前的三年.我认为他们应该能够更早地编写简单的GUI应用程序.所以我想教他们.

您如何看待,对他们来说学习更有用:使用QT编程GUI或在C#中编写GUI并调用非托管C++库?

更新.

对于开发C++应用程序,学生使用MS Visual studio,因此已经安装了C#.但QT AFAIK也可以集成到VS.

我有以下C#的优点(有些人在答案中提出):

  • 需要制作一个额外的图层.这是更多的工作,但它会强制您明确指定GUI和处理数据之间的契约.GUI和算法之间的界限变得非常清晰.
  • 它在雇主中更受欢迎.至少,在我们居住的俄罗斯.在C++中编写性能关键算法并通过好看的C#application/ASP.Net网站进行PInvoke它是相当普遍的.也许它在世界其他地方并不是那么普遍,但在俄罗斯,由于某些原因,Windows非常受欢迎,特别是在公司和公司中,因此大多数b2b应用程序都是Windows应用程序.
  • 快速发展.由于许多原因,在C++中使用C++进行编码要快得多.

而且它是一种新的语言,专门针对学生.和调用库的混乱.

c# c++ user-interface

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

如何在OpenCL内核中使用C++模板?

我是OpenCL的新手.

我有一个使用模板的算法.它在OpenMP并行化方面运行良好,但现在数据量已经增长,处理它的唯一方法是重写它以使用OpenCL.我可以轻松地使用MPI为集群构建它,但类似特斯拉的GPU比集群便宜得多:)

有没有办法在OpenCL内核中使用C++模板?

是否有可能以某种方式通过C++编译器或某些工具扩展模板,然后使用如此改变的内核函数?

编辑.解决方法的想法是以某种方式从模板中的C++代码生成与C99兼容的代码.

我找到了一个关于Comeau的信息:

Comeau C++ 4.3.3是一个完整而真实的编译器,可执行完整的语法检查,完整的语义检查,完整的错误检查以及所有其他编译器职责.输入C++代码被转换为内部编译器树和符号表,看起来不像C++或C.同样,它生成一个内部专有的中间形式.但是,Comeau C++ 4.3.3不是使用专有的后端代码生成器,而是生成C代码作为输出.除了C++的技术优势之外,Comeau C++ 4.3.3等产品的C生成方面也被吹捧为C++成功的原因,因为C编译器的普遍可用性使其能够被带到大量平台.

C编译器仅用于并且仅用于获得本机代码生成.这意味着Comeau C++专为与各个平台上的特定C编译器一起使用而定制.请注意,要求剪裁必须由Comeau完成.否则,生成的C代码没有意义,因为它绑定到特定平台(其中平台至少包括CPU,OS和C编译器),此外,生成的C代码不是独立的.因此,它不能单独使用(请注意,这在使用Comeau C++时是技术和法律要求),这就是为什么通常没有选项来查看生成的C代码:它几乎总是无用的和编译过程包括其代,应被视为翻译的内部阶段.

c++ compiler-construction templates metaprogramming opencl

13
推荐指数
3
解决办法
7947
查看次数

几个服务主机有什么好处?一个ServiceHost是否支持一个端点上的多个同时连接?

我正在考虑自我托管我的WCF服务,而不是使用IIS.对我来说一个很大的问题是我是否需要像IIS那样实例化多个服务主机,或者一个就足够了.

除了安全原因,除了隔离外,多个服务主机是否会提供任何好处?

一个servicehost可以同时在一个端点上提供多个连接吗?

performance wcf self-hosting servicehost

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

我可以将对象传递给另一个进程,只需将其指针传递给共享内存吗?

我有一个非常复杂的类(它内部有unordered_map等等),我想用两个我的进程共享它的一个对象.我可以简单地将指针从一个进程传递到另一个进程吗?我想,不,但希望听到"是的!".

如果"不",我将很高兴看到任何链接如何处理这种情况.我需要为所有进程只有一个这个对象的实例,因为它非常大,并且所有进程都可以用于只读.

c++ ipc shared-memory

7
推荐指数
3
解决办法
6930
查看次数

是否可以在Windows Azure中运行Native C++代码?

我有一个用本机C++编写的应用程序,它打算进行密集计算.事实上,我只对计算结果感兴趣,即它可以在没有GUI的情况下完成,也可以由某些.Net服务/应用程序控制.

我可以在微软的云中运行吗?我该怎么做?

c++ cloud unmanaged azure

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

是否值得在生产中使用std :: tr1?

我正在使用MS VC 2008和一些项目英特尔C++编译器11.0.是否值得在生产中使用tr1功能?他们会保持新标准吗?

例如,现在我使用stdext::hash_map.TR1定义std::tr1::unordered_map.但在MS中,实现unordered_map只是他们的stdext::hash_map,以另一种方式模板化.

c++ unordered-map tr1 visual-c++

6
推荐指数
3
解决办法
1967
查看次数

在IIS 7中使用会话时出错

将我的网站部署到IIS后,我在尝试访问会话时收到以下错误消息:

只有在配置文件或Page指令中将enableSessionState设置为true时,才能使用会话状态.还请确保System.Web.SessionStateModule或自定义会话状态模块包含在应用程序配置的\\部分中.

我访问它Page_LoadPreRender事件(我尝试了两个版本).使用Visual Studio Dev Server,它可以正常运行.我尝试InProcSessionState存储,1和多个工作进程.我enableSessionState = "true"明确地在我的网页上添加了一个.这是以下部分web.config:

<system.web>
    <globalization culture="ru-RU" uiCulture="ru-RU" />
    <compilation debug="true" defaultLanguage="c#">
        <assemblies>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
            <add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
            <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        </assemblies>
    </compilation>
    <pages enableEventValidation="false" enableSessionState="true">
        <controls>
            <add tagPrefix="asp" namespace="System.Web.UI" …
Run Code Online (Sandbox Code Playgroud)

asp.net session iis-7

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

位操作会导致程序运行得更慢吗?

我正在处理需要处理大量数据的问题.目前,其值表示为unsigned int.我知道真正的价值不超过限制1000.

问题

  1. 我可以unsigned short用来存储它.这样做的好处是它将使用更少的存储空间来存储该值.性能会受损吗?

  2. 如果我决定将数据存储为short但所有调用函数都使用int,则会认识到在存储或提取值时我需要在这些数据类型之间进行转换.性能会受损吗?性能损失是否会引人注目?

  3. 如果我决定不使用short,只有10位打包成一个数组unsigned int.与以前相比,这种情况会发生什么?

c++ performance storage bit-manipulation

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

通过OleDB读取Excel文件时,DBNull在非空单元格中

我使用OleDB来读取Excel文件.其中一列具有"通用"格式,并且包含字母和值仅由数字组成的字符串.检索字符串值没有问题,但检索纯数值DBNull.

怎么解决?

我使用以下连接字符串打开Excel 2003文件(xls):

"Provider=Microsoft.Jet.OLEDB.4.0;
 Data Source=C:\\file.xls;
 Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\""
Run Code Online (Sandbox Code Playgroud)

c# oledb excel dbnull

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