小编Cri*_*omo的帖子

在C++之后学习C#

在语言的进步中,我一直在学习C和C++.现在我想学习C#.我知道它们之间存在一些巨大的差异 - 例如删除指针和垃圾收集.但是,我不知道两者之间的许多差异.

在转向C#时,C++程序员需要知道的主要区别是什么?(例如,我可以使用什么代替STL,它们之间的语法差异,或者其他任何可能被认为重要的东西.)

c# c++

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

nanokernel和exokernel有什么区别?

我知道它们都应该很小,但两者之间的主要区别是什么?

kernel

14
推荐指数
1
解决办法
5367
查看次数

启用GRUB以从内核自动启动

我正在为操作系统开发内核.为了执行它,我决定使用GRUB.目前,我已经连接到GRUB的脚本stage1,stage2,垫文件,这使得它可引导内核本身一起.唯一的问题是,当我运行它时,你必须让GRUB知道内核的位置和手动的大小然后启动它,如下所示:

kernel 200+KERNELSIZE
boot

KERNELSIZE是块中内核的大小.这很好,一开始就没问题,但是可以在二进制文件中获取这些值并使GRUB自动启动内核吗?有关如何实现这一目标的任何建议?

operating-system kernel grub osdev

13
推荐指数
1
解决办法
1881
查看次数

Bezier曲线上的等距点

目前,我正在尝试让多个beziers具有等距点.我目前正在使用三次插值来找到这些点,但是因为beziers的工作方式,某些区域比其他区域更密集,并且因为距离可变而证明了纹理映射的总体. 有没有办法通过距离而不是百分比在贝塞尔曲线上找到点数?此外,是否可以将其扩展到多个连接的曲线?

graphics bezier curve interpolation

9
推荐指数
2
解决办法
3706
查看次数

执行存储为列表的代码

在理解(引用)之后,我很好奇是如何导致语句执行的.我的第一个想法是

(defvar x '(+ 2 21))
`(,@x)
Run Code Online (Sandbox Code Playgroud)

但这只是评估(+ 2 21),或内容x.如何运行放在列表中的代码?

lisp common-lisp

8
推荐指数
1
解决办法
589
查看次数

源控制背后的理论(和术语)

我已经尝试过对几个项目使用源代码控制,但仍然没有真正理解它.对于这些项目,我们使用了TortoiseSVN并且只进行了一行修订.(没有主干,分支或其中任何一个.)如果有建议的方法来设置源控制系统,它们是什么?设置它的原因和好处是什么?集中式和分布式源代码控制系统的工作原理之间存在什么根本区别?

version-control

7
推荐指数
2
解决办法
1137
查看次数

在Common Lisp中编写++宏

我一直在尝试编写一个Lisp宏,它会出于语义原因而在其他编程语言中使用相当于++的++.我试图用几种不同的方式做到这一点,但它们似乎都没有用,并且所有都被解释器接受,所以我不知道我是否有正确的语法.我对如何定义它的想法是

(defmacro ++ (variable)
  (incf variable))
Run Code Online (Sandbox Code Playgroud)

但是在尝试使用它时,这给了我一个简单的错误.什么会使它工作?

lisp macros common-lisp

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

将新分配的数据直接传递给函数

在学习不同的语言时,我经常看到动态分配的对象,通常是Java和C#,如下所示:

functionCall(new className(initializers));
Run Code Online (Sandbox Code Playgroud)

我知道这在内存管理语言中是完全合法的,但是这种技术可以在C++中使用而不会导致内存泄漏吗?

c++ memory-leaks

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

为什么第二个cin.ignore()是必要的?

我注意到,每当我编写一个使用std::cin它的程序时,如果我希望用户按Enter键结束程序,我必须写std::cin.ignore()两次才能获得所需的行为.例如:

#include <iostream>

int main(void)
{
    int val = 0;
    std::cout << "Enter an integer: ";
    std::cin >> val;

    std::cout << "Please press Enter to continue..." << std::endl;

    std::cin.ignore();
    std::cin.ignore();  // Why is this one needed?
}
Run Code Online (Sandbox Code Playgroud)

我也注意到,当我不是cin用于实际输入而是仅用于最后的ignore()呼叫时,我只需要一个.

c++ input

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

FindName返回null

我正在为学校写一个简单的tic tac toe游戏.作业是用C++编写的,但老师允许我使用C#和WPF作为挑战.我已经完成了所有游戏逻辑并且表单大部分都已完成,但我遇到了一堵墙.我目前正在使用a Label表示它是谁,我希望在玩家进行有效移动时更改它.根据Applications = Code + Markup,我应该能够使用该类的FindName方法Window.然而,它一直在回归null.这是代码:

public TicTacToeGame()
{
    Title = "TicTacToe";
    SizeToContent = SizeToContent.WidthAndHeight;
    ResizeMode = ResizeMode.NoResize;

    UniformGrid playingField = new UniformGrid();
    playingField.Width = 300;
    playingField.Height = 300;
    playingField.Margin = new Thickness(20);

    Label statusDisplay = new Label();
    statusDisplay.Content = "X goes first";
    statusDisplay.FontSize = 24;
    statusDisplay.Name = "StatusDisplay"; // This is the name of the control
    statusDisplay.HorizontalAlignment = HorizontalAlignment.Center;
    statusDisplay.Margin = new Thickness(20);

    StackPanel layout = new StackPanel(); …
Run Code Online (Sandbox Code Playgroud)

c# wpf

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