Tag: C#的

为什么不推荐使用std :: strstream?

我最近发现std::strstream已被弃用,而std::stringstream 。 我已经使用了一段时间,但是当时做了我需要做的事情,所以很惊讶听到它的贬低。 我的问题是为什么做出这个决定, std::stringstream提供了std::strstream中缺less的好处吗?

编译错误:“g ++:错误尝试执行'cc1plus':execvp:没有这样的文件或目录”

当我用php popen编译C / C ++程序…我得到这个错误: g++: error trying to exec 'cc1plus': execvp: No such file or directory 但如果我在shell中运行的PHP代码..它工作正常.. 在Arch Linux中 PHP代码: <?php function rfile($fp) { $out=""; while (!feof($fp)) { $out.= fgets($fp, 1024000); } return $out; } $p = popen('g++ -Wall -g aplusb.cc -o aplusb 2>&1', 'r'); $result = rfile($p); pclose($p); echo $result; ?> 谢谢

比较运算符如何使用null int?

我开始学习可空的types,并遇到以下行为。 当尝试可空int,我看比较运算符给我意想不到的结果。 例如,在我的代码下面,我得到的输出是“两者和1是相等的” 。 请注意,它也不打印“null”。 int? a = null; int? b = 1; if (a < b) Console.WriteLine("{0} is bigger than {1}", b, a); else if (a > b) Console.WriteLine("{0} is bigger than {1}", a, b); else Console.WriteLine("both {0} and {1} are equal", a, b); 我希望任何非负整数将大于空,我在这里失踪的东西?

caching与会话的优点

在Session vs Cache中存储数据表有什么区别? 有什么优点和缺点? 所以,如果它是一个简单的search页面,返回一个数据表格的结果,并将其绑定到一个gridview。 如果用户'a'search和用户'b'search,将它存储在Session中是否更好,因为每个用户最有可能具有不同的结果,或者我仍然可以将他们的每个search存储在Cache中,或者是没有意义的,只有一个caching。 我想基本上我想说的是Cache会被覆盖。

Google C ++风格指南的无例外规则; STL?

Google的C ++风格指南说:“我们不使用例外”。 风格不提及STL关于exception的使用。 由于STL分配器可能会失败,他们如何处理容器抛出的exception? 如果他们使用STL,调用者如何通知分配失败? 像push_back()或map operator[] STL方法不会返回任何状态码。 如果他们不使用STL,他们使用什么容器实现?

Cstring中'\ 0'之后的内存会发生什么?

令人惊讶的简单/愚蠢/基本的问题,但我不知道:假设我想返回我的函数的用户一个Cstring,其长度我不知道在函数的开始。 我可以在一开始只放置长度的上限,并且根据处理,尺寸可能缩小。 问题是,分配足够的堆空间(上限)是否有问题,然后在处理过程中终止string? (a。) free()仍然正常工作,(b。)在'\ 0'之后的空格变得无关紧要了吗? 一旦添加了“\ 0”,内存是否返回,还是坐在那里占用空间,直到free()被调用? 为了节省一些前期编程时间,在调用malloc之前计算必要的空间,通常是不好的编程风格吗? 为了给这个上下文,我们假设我想删除连续的重复,像这样: input“Hello oOOOo !!” – >输出“Helo oOo!” …以及下面的一些代码展示了我如何预先计算我的操作所产生的大小,有效地执行两次处理来获得堆大小的权利。 char* RemoveChains(const char* str) { if (str == NULL) { return NULL; } if (strlen(str) == 0) { char* outstr = (char*)malloc(1); *outstr = '\0'; return outstr; } const char* original = str; // for reuse char prev […]

如何在WPF / MVVM应用程序中处理dependency injection

我正在开始一个新的桌面应用程序,我想用MVVM和WPF来构build它。 我也打算使用TDD。 问题是,我不知道如何使用IoC容器将我的dependency injection到我的生产代码中。 假设我有以下的类和接口: public interface IStorage { bool SaveFile(string content); } public class Storage : IStorage { public bool SaveFile(string content){ // Saves the file using StreamWriter } } 然后我有另一个有IStorage作为依赖的类,假设这个类是一个ViewModel或一个业务类… public class SomeViewModel { private IStorage _storage; public SomeViewModel(IStorage storage){ _storage = storage; } } 有了这个,我可以轻松地编写unit testing,以确保它们正常工作,使用模拟等。 问题是在真正的应用程序中使用它。 我知道我必须有一个链接IStorage接口的默认实现的IoC容器,但我该怎么做呢? 例如,如果我有以下xaml,将会如何呢? <Window … xmlns […]

授权具有多个angular色的属性

我想将授权添加到控制器,一次为多个angular色。 通常情况下,看起来像这样: [Authorize(Roles = "RoleA,RoleB,RoleC")] public async Task<ActionResult> Index() { } 但是我已经把我的angular色存储在const中,因为它们可能会在某些时候改变或延长。 public const RoleA = "RoleA"; public const RoleB = "RoleB"; public const RoleC = "RoleC"; 我不能这样做,因为在编译时必须知道string: [Authorize(Roles = string.join(",",RoleA,RoleB,RoleC)] public async Task<ActionResult> Index() { } 有没有办法来解决这个问题? 我可以写一个只包含“RoleA,RoleB,RoleC”的const – 但我不喜欢魔术string,这是一个魔术string。 更改angular色的名称并忘记更改组合string将是一场灾难。 我正在使用MVC5。 ASP.NET身份和angular色在编译时已知。

在VB.NET中是否有locking语句?

VB.NET有相当于C#的lock语句吗?

如何检查一个文件是否存在,并在C ++中可读?

我有一个fstream my_file(“test.txt”),但我不知道test.txt是否存在。 如果存在的话,我想知道我是否也可以阅读。 怎么做? 我使用Linux。