小编ark*_*ark的帖子

记忆对齐的目的

诚然,我不明白.假设您的内存中包含长度为1个字节的内存字.为什么不能在未对齐地址的单个内存访问中访问一个4字节长的变量(即不能被4整除),因为对齐地址就是这种情况?

memory alignment memory-alignment

175
推荐指数
5
解决办法
7万
查看次数

机器人探索算法

我正在尝试为机器人设计一种算法,试图找到一个位于包含障碍物的世界中的旗帜(位于未知位置).机器人的任务是捕获旗帜并将其带到他的家乡(代表他的起始位置).机器人,在每一步,只看到一个有限的邻居(他不知道世界如何提前看),但他有无限的记忆来存储已经访问过的细胞.

我正在寻找有关如何以有效方式执行此操作的任何建议.特别是第一部分; 即到达国旗.

在此输入图像描述

algorithm robotics artificial-intelligence

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

EventArgs类背后的基本原理

我正在学习C#中的事件,并了解EventArgs该类包含有关该事件的数据.但我很难理解为什么EventArgs有必要.

例如,在这个MSDN示例中,WakeMeUp该类是否无法从字段中读取所有必要的数据(snoozePressed,nrings)AlarmClock?如果它可以设置它们,为什么它也不能得到它们?

.net c# events

10
推荐指数
3
解决办法
1728
查看次数

新行字符有什么用?

我真的不明白:新线条角色的目的是什么?

如果我这样做:

<?php
echo "This is a test. \n";
echo "This is another test.";
?> 
Run Code Online (Sandbox Code Playgroud)

代码导致两个句子在同一行.为什么不是\n导致第二句话在第二行?

如果我做的话,句子都在它自己的行中:

<?php
echo "This is a test. <br>";
echo "This is another test.";
?>
Run Code Online (Sandbox Code Playgroud)

但我也看到人们这样做:

<?php
echo "This is a test. <br>\n";
echo "This is another test.";
?> 
Run Code Online (Sandbox Code Playgroud)

这实际上导致与第二个代码片段相同的输出.有人在意解释这个吗?

html php

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

为什么在方法定义文件中包含标题?

假设您有一个名为sum.c的源文件,如下所示:

#include "sum.h"

int sum(int x, int y) {
    return x+y;
}
Run Code Online (Sandbox Code Playgroud)

将方法的标题包含在自己的定义文件中有什么意义?你不应该只在调用sum函数的源文件中包含它吗?

c header-files function-declaration

4
推荐指数
3
解决办法
420
查看次数

哪个是最好的选择?

考虑到我有使用Java SE的经验:我应该学习哪种语言(并且最好是为了这个目的),以便有朝一日构建Web应用程序?我一直在考虑PHP和Java EE.鉴于我的Java SE知识,后者确实似乎是一个明显的选择.但与PHP相比,它的成本如何?上述目的有多好?

如果有更好的语言用于此目的,请随时推荐它.

谢谢.

programming-languages

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

显示每条记录的全部总和

假设您有这两列的一些项目表:

  • 项目名称
  • 价钱

.... ItemName独特的地方.

你如何显示每个价格的总和ItemName(我使用的是Oracle)?如果我试试这个:

SELECT ItemName, 
       SUM(Price)
  FROM Items
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

ORA-00937:不是单组组功能

...只有在我使用GROUP BY时才会消失.但是,我只能按群体进行SUM,而不是所有群体.

sql oracle ora-00937

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

多态性无法正常工作

我有一个名为Dictionary的接口,它有一个方法insert().这个接口是由类实现的BSTree,但我也有一个类AVLTree是子类BSTree.AVLTree重新定义insert()它以满足它的需要.现在,如果我输入以下代码:

Dictionary data=new AVLTree();
data.insert();
Run Code Online (Sandbox Code Playgroud)

有一个问题,因为insert()被调用的方法BSTree不是AVLTree.为什么多态性不在这里?什么是适当的解决方案,保留多态性的原则?

java

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

为什么这个对象序列化不起作用?

我遇到以下代码问题.序列化对象似乎有效,但是当我尝试反序列化它时,方法in.available()立即返回0(它不会进入while循环).由于(de)序列化逻辑是从这里复制的,我想它应该可行.

public class test {
    public static enum Direction {NONE, UP, DOWN, LEFT, RIGHT}
    /**
     * @param args
     */

    public static void main(String[] args) {
        LinkedList<Node> list = new LinkedList<Node>();
        list.add(new Node(1.0, 0));
        list.add(new Node(2.0, 0));

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ObjectOutputStream out;
        try {
            out = new ObjectOutputStream(baos);
            for(Node l:list)
                out.writeObject(l);

            baos.close();
            out.close();

            byte[] bytes = baos.toByteArray();

            ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
            ObjectInput in;

            in = new ObjectInputStream(bais);

            while (in.available() > 0) {
                Node l = (Node) …
Run Code Online (Sandbox Code Playgroud)

java serialization

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