小编Ash*_*ppa的帖子

RGB到单色转换

如何将像素的RGB值转换为单个单色值?

rgb monochrome colors

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

C++:STL和Boost的替代方案?

C++是一种多范式语言,STLBoost是针对语言的功能范例而构建的.STL由容器(用于保存数据),迭代器(用于访问数据)和算法(用于操作数据的函数)组成.通过使用迭代器将算法函数应用于容器.作为副作用,这些方法不是容器类的一部分,而是完全独立的.(这避免了库编写者的冗余,但对于库用户来说却很痛苦.)

是否有STL/Boost的C++替代品,以更传统的面向对象的方式提供这样的容器?我正在寻找字符串,向量,链表,地图,树,哈希表等.容器应该易于继承和扩展.相比之下,从STL/Boost扩展类是一个非常糟糕的想法,这是他们的设计师的设计.

PS:请不要使用下面的回复空间来证明STL/Boost的优势.我很清楚他们!:-)

c++ boost stl

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

PowerShell:为什么Out-File将长行分成较小的行?

试试这个小实验.Foo.txt使用非常长的文本行(比如500个字符长)创建一个文件,如下所示:

// Foo.txt
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
Run Code Online (Sandbox Code Playgroud)

现在发出以下命令:

$ Get-Content Foo.txt | Select-String "a" | Out-File Foo2.txt
Run Code Online (Sandbox Code Playgroud)

你会发现长串的字符串已被分解为更小的行Foo2.txt.每条较小的线的长度与控制台宽度相同.

当输出没有进入控制台时,为什么Out-File会将长行分成较小的一行?

为什么Out-File不会破坏以下命令的行?

$ Get-Content Foo.txt | Out-File Foo3.txt
Run Code Online (Sandbox Code Playgroud)

powershell

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

CUDA:如何在内核代码中断言?

CUDA 内核代码中断言的等效技术是什么?

似乎没有CUDA内核代码的断言.我想要一种在内核代码中轻松捕捉程序员错误的方法.一种机制,我可以设置需要为true的条件,并且当条件为false并且出现错误消息时内核应该挽救.

cuda assertion

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

为什么gcc允许char数组初始化,字符串文字比数组大?

int main()
{
    char a[7] = "Network";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

C中的字符串文字在内部以nul字符终止.因此,上面的代码应该给出编译错误,因为字符串文字的实际长度Network是8并且它不能适合char[7]数组.

但是,Ubuntu上的gcc(即使有-Wall)编译此代码时没有任何错误或警告.为什么gcc允许这样做而不将其标记为编译错误?

当char数组大小小于字符串文字时,gcc只发出警告(仍然没有错误!).例如,它警告:

char a[6] = "Network";
Run Code Online (Sandbox Code Playgroud)

[相关] Visual C++ 2012给出了一个编译错误char a[7]:

1>d:\main.cpp(3): error C2117: 'a' : array bounds overflow
1> d:\main.cpp(3) : see declaration of 'a'
Run Code Online (Sandbox Code Playgroud)

c c++ arrays compiler-errors string-literals

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

在Windows上使用OpenGL扩展

我想使用OpenGL扩展下公开的函数.我在Windows上,我该怎么做?

opengl glew

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

Python:如何检查嵌套列表是否基本上为空?

是否有一个Python化的方式检查是否列表(一个嵌套的元素和清单列表)基本上是空的?我在这里空的意思是列表可能有元素,但那些也是空列表.

检查空列表的Pythonic方法仅适用于平面列表:

alist = []
if not alist:
    print("Empty list!")
Run Code Online (Sandbox Code Playgroud)

例如,以下列表对于空虚应该是正面的:

alist = []
blist = [alist]               # [[]]
clist = [alist, alist, alist] # [[], [], []]
dlist = [blist]               # [[[]]]
Run Code Online (Sandbox Code Playgroud)

python list

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

C++标准库:如何为cout,cerr,cin和endl编写包装器?

我不喜欢using namespace std,但我也厌倦了键入std::在每一条战线cout,cin,cerrendl.所以,我想给他们这样简短的新名字:

// STLWrapper.h

#include <iostream>
#include <string>

extern std::ostream& Cout;
extern std::ostream& Cerr;
extern std::istream& Cin;
extern std::string&  Endl;

// STLWrapper.cpp

#include "STLWrapper.h"

std::ostream& Cout = std::cout;
std::ostream& Cerr = std::cerr;
std::istream& Cerr = std::cin;
std::string _EndlStr("\n");
std::string& Endl = _EndlStr;
Run Code Online (Sandbox Code Playgroud)

这有效.但是,上面有什么问题我错过了吗?有没有更好的方法来实现同样的目标?

c++ iostream

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

Visual Studio:如何使其UI快速,精简和最小化?

Visual Studio打开和使用起来可能很慢.菜单和自动隐藏窗口可能会变得缓慢,命令需要一段时间才能启动.为了使Visual Studio的UI加载速度更快,操作更快,可以做些什么?可以改变哪些设置以使其感觉精益最小化

PS:我知道Visual Studio Express更精简,速度更快.但是,我依赖一些Visual Studio插件,Express中不支持插件.

PS2:我已经关闭了所有不必要的窗口.所有诊断窗口都处于自动隐藏状态.并且所有工具栏都是关闭的.我几乎完全使用键盘快捷键.

visual-studio

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

Visual C++:在发布模式下启动/不启动调试之间的区别

Release模式下编译代码时,Start Debugging(F5)Start without Debugging(CTRL- F5)之间有什么区别?

我看到CTRL- F5F5某些C++代码快10倍.如果我没有错,调试器将附加到执行进程,F5而不是CTRL- F5.由于这是Release模式,编译后的代码没有任何调试信息.所以,如果我没有任何断点,两者的执行时间应该相同,不是吗?!

(假设Release和Debug模式是您在创建新的Visual C++项目时获得的典型配置.)

debugging release visual-studio visual-c++

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