小编sbi*_*sbi的帖子

使用c ++开始Dir​​ect X的好书或教程

我对c ++非常熟悉.我用它制作了一些像俄罗斯方块和纸牌游戏.但我真正想要的是那些游戏的一些漂亮的纹理图形:-p GDI就是不再为我做这件事了.

真的,我需要知道的是:

  • DX场景初始化
  • 制作简单的圆形矩形和基本形状
  • 能够在X和Y中移动这些形状
  • 添加基本​​位图纹理
  • 处理对象

任何能够涵盖这些概念的东西都非常有用谢谢

c++ directx winapi

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

使用C++中的3个元素在地图中搜索和插入

我需要这样的地图:

typedef std::map<int, float , char> Maptype ;
Run Code Online (Sandbox Code Playgroud)

在此映射中插入和搜索pair的元素的语法是什么.

c++ stl

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

无法写入二进制文件

我在C++中有以下代码.

int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ofstream output("Sample.txt", ios::out | ios::binary);

for(int i = 0; i < 10; i++)
{
  output<<arr[i];
}
Run Code Online (Sandbox Code Playgroud)

现在Sample.txt是这样的:

12345678910
Run Code Online (Sandbox Code Playgroud)

是不是"Sample.txt"应该是二进制文件?当我以二进制模式打开流时,为什么不将所有内容都转换为二进制文件.我该怎么办,因为我需要数组中每个元素的二进制文件,然后将其打印到文件中.

c++

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

如何强制0.0/0.0在MIPSPro C编译器中返回零而不是NaN?

正如问题所述,我正在使用MIPSPRo C编译器,并且我有一个操作将返回一些数据集的NaN,其中分子和denom都为零.我如何防止这种情况发生?

c nan

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

在C中查找字符串数组中的唯一元素

C困扰我对弦乐的处理.我心中有这样的伪代码:

char *data[20]; 

char *tmp; int i,j;

for(i=0;i<20;i++) {
  tmp = data[i]; 
  for(j=1;j<20;j++) 
  {
    if(strcmp(tmp,data[j]))
      //then except the uniqueness, store them in elsewhere
  }
}
Run Code Online (Sandbox Code Playgroud)

但是当我对此进行编码时,结果很糟糕.(我处理了所有内存,小东西等)问题显然在第二个循环中:D.但我想不出任何解决方案.如何在数组中找到唯一的字符串.

输入示例:abc def abe abc def deg输入唯一的输入:应找到abc def abe deg.

c arrays string strcmp

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

如何在C#XML文档中标记代码

我有这个功能:

public static string Join(this IEnumerable<string> strings, string separator)
{
    return string.Join(separator, strings.ToArray());
}
Run Code Online (Sandbox Code Playgroud)

我要记录.
我希望<return>标签能够说明,string.Join(separator, strings.ToArray())因为任何能够阅读C#代码的人都会说超过一千个单词.但是,当我使用时

<return>string.Join(separator, strings.ToArray())</return>
Run Code Online (Sandbox Code Playgroud)

然后string.Join(separator,strings.ToArray())将被格式化为纯文本,这使得它几乎不可读.所以我试过了

<return><code>string.Join(separator, strings.ToArray())</code></return>
Run Code Online (Sandbox Code Playgroud)

但这总是创造一个新的段落......

所以这是我的问题:
有没有办法格式化一段文本,使它看起来好像是代码?我对固定宽度的字体感到满意.

c# xml documentation xml-documentation

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

暂时更改变量的值

在我正在进行的API实现中,需要在执行某项任务之前暂时重复更改某些变量,并在完成任务之后将其更改回原来的任何变量.

当前代码如下所示:

var _oldValue = _variable;
_variable = tempValue;
try
{
  doIt();
}
finally
{
  _variable = oldValue;
}
Run Code Online (Sandbox Code Playgroud)

这么做很烦人,很难看,很难维护,并且在很多杂乱的情况下掩盖了实际的算法,这只是实现工件.

在C++中,我会创建一个类,它在构造期间的某处存储旧值,并在其析构函数中恢复它:

{
  temp_value tmp(variable_, temp_val);
  do_it();
}
Run Code Online (Sandbox Code Playgroud)

当尝试在C#中做类似的事情时,我失败了,因为显然C#无法存储对类中其他对象的引用.

那么在C#中我需要做些什么才能消除这种混乱?

PS:随意添加您认为合适的任何其他标签.我没有提出任何问题.

c#

5
推荐指数
3
解决办法
2069
查看次数

C++中set的擦除功能会改变其他元素的地址吗?

我有以下代码:

set<Key> test;
test.insert(key1);
test.insert(key2);
iter1 = test.find(key1);
iter2 = test.find(key2);
test.erase(iter1);
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果删除了key1,我现在可以使用iter2来引用test2中的key2吗?

谢谢

c++ set erase

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

如何从任何可调用的函数中获取有意义的函数签名

考虑这样一个野兽:

template<typename Func>
void register_function(Func func) {
  // type-erase Func and pass it on to some other function
}
Run Code Online (Sandbox Code Playgroud)

假设这可以传递给任何可调用的东西.

如果Func是普通函数类型,我知道如何获取函数的签名.鉴于它func可以是普通函数,std::function<F>函数或函数对象(std::bind()表达式),我如何得到函数的参数?

注意:

  • 在这种情况下,函数只有零个,一个或两个参数
  • 如果它是一个函数对象,那就是它的结果 std::bind()
  • 需要签名才能获得参数的类型,这些类型需要在传递的类型擦除的东西中使用

  • 这是严格的C++ 03(嵌入式平台),所以没有变量模板参数等.

c++ function template-meta-programming

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

在remove_if删除之前,我可以滥用谓词来对元素执行操作吗?

我有一个std ::对象列表.列表已排序,必须保持这种状态.我需要找到那些满足某个标准的对象(我有一个谓词),将它们传递给一个函数,然后从列表中删除对象.

编写一个循环来调用std::find_if(),调用其结果(如果有的话),调用list.erase()并将其结果传递给下一次调用的开始迭代器并不难std::find_if().然而,IME发现这样的代码比编写代码更难阅读.

所以我最好使用std lib中的一些算法,而不是编写自己的循环.

一个想法是(ab)使用std::list<>::remove_if():在返回之前调用与谓词匹配的元素的操作true,以便列表删除元素.那是符合标准的吗?(项目本身不会被更改,只会更改他们引用的数据.)

或者你能想出更好的解决方案吗?(同样,主要目标是使其易于阅读和理解.)也许是因为我刚刚遇到它,但对我来说,似乎这对于一系列对象来说可能不是一种不常见的使用模式.

注意:暂时,我们坚定地陷入了C++ 03的土地.:-/C++ 11/14/17解决方案很有趣,因此受到欢迎,但我确实需要一些适用于C++ 03的东西.

c++ algorithm c++03

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