Tag: C#的

我可以将逆向迭代器转换为向前迭代器吗?

我有一个名为Action的类,它本质上是一个Move对象的双层包装器。 因为我需要遍历向前和向后移动的双转移,所以我有一个前向迭代器和一个reverse_iterator作为类的成员variables。 之所以这样,是因为我必须知道,当我前进或后退的时候,我已经走过了一个人的“终点”。 这个类看起来像这样: class Action { public: SetMoves(std::deque<Move> & dmoves) { _moves = dmoves; } void Advance(); bool Finished() { if( bForward ) return (currentfwd==_moves.end()); else return (currentbck==_moves.rend()); } private: std::deque<Move> _moves; std::deque<Move>::const_iterator currentfwd; std::deque<Move>::const_reverse_iterator currentbck; bool bForward; }; Advancefunction如下: void Action::Advance { if( bForward) currentfwd++; else currentbck++; } 我的问题是,我想能够检索一个迭代器到当前的Move对象,而不需要查询我是前进还是后退。 这意味着一个函数返回一种types的迭代器,但我有两种types。 我应该忘记返回一个迭代器,而是返回一个Move对象的const引用? 最好的祝愿, BeeBand

计算在C#中的string的显示宽度?

这个问题的Java版本刚刚回答,嗯,我不知道如何在.net中做到这一点。 那么如何计算C#/ .net中string的显示宽度呢?

在Linux下从C,C ++发出系统命令

我知道,在DOS / Windows应用程序中,您可以使用以下代码从代码发出系统命令: system("pause"); 要么 system("myProgram.exe"); …来自stdlib.h。 有没有类似的Linux命令,如果是的话,我可以find哪个头文件? 另外,这被认为是不好的编程习惯? 我正在考虑尝试使用lsmod命令获取已加载的内核模块的列表。 这是一个好主意还是坏主意? 我发现一些网站,似乎查看系统调用(至less系统(“暂停”);)在负面的灯光。

如何打印c中的内存位

我正在学习如何在内存中表示数字。 我想知道如何打印一些int和floatvariables的内存中的实际表示(二进制或hex)。 例如,我想看看在添加或减less数字时会发生什么情况。 如何访问内存并打印?

将二维数组传递给常量参数的函数

我从C Primer Plus了解到,如果要保护数组不被函数意外修改,则应在函数定义头部的指针声明之前添加const修饰符。 遵循这个明智的build议,在下面的最小的例子中,我试图将一个非常量的二维数组array传递给Sum2D函数,其中的一个参数是一个pointer-to-const-int[2]的pointer-to-const-int[2] 。 #include <stdio.h> #define ROWS 2 #define COLS 2 int Sum2D(const int ar[][COLS], int rows); //use `const` to protect input array int main(void) { int array[ROWS][COLS]={{1,2},{3,4}}; //the non-constant array printf( "%d\n", Sum2D(array,ROWS) ); return 0; } int Sum2D(const int ar[][COLS], int rows) { int total=0; int i,j; for( i=0 ; i<rows […]

Kinect用户检测

我正在开发一个应用程序当一个kinect传感器检测到一个人可以在其上工作的骨架,如果其他人接近现有的用户,它会检测到第二个人。 我想限制到用户的感觉传感器首先检测到它,如果其他用户来这不应该检测到另一个。 提前致谢

从另一个表单调用方法

我尝试从另一个表单调用一个方法。 我的尝试: public partial class newLedPopUp : Form { Form1 back = new Form1(); back.output(); Close(); } 和 public partial class Form1 : Form { newLedPopUp popup = new newLedPopUp(); public void output() { button3_Click(null, null); } } 有人可以帮我吗? 我真的找不到我的错误,而且我一直在寻找很长一段时间。

unsigned int和signed char比较

我想比较一个无符号的int与这样一个签名的字符: int main(){ unsigned int x = 9; signed char y = -1; x < y ? printf("s") : printf("g"); return 0; } 我期待着o / p是“g”。 相反,它的“s”。 这里做了什么样的转换?

Mvvm模型ViewModel

它可以被命名为MVVM模型或不? 因为View通过ViewModelData与DataModel交互。 视图应该只与ViewModelData交互? 我确实在某个地方读过,MVVM模型应该在ViewModel中实现INotify而不是在Model中。 这样对吗? namespace WpfApplication135 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = new ViewModelData(); } } public class ViewModelData { public DataModel DM { get; set; } public ViewModelData() { DM = new DataModel(); } } public […]

在Linux上使用kbhit()和getch()

在Windows上,我有以下代码来查找input而不中断循环: #include <conio.h> #include <Windows.h> #include <iostream> int main() { while (true) { if (_kbhit()) { if (_getch() == 'g') { std::cout << "You pressed G" << std::endl; } } Sleep(500); std::cout << "Running" << std::endl; } } 但是,看到没有conio.h ,在Linux上实现这个同样的事情最简单的方法是什么?