小编Nie*_*jou的帖子

一流的延续

对于将继续作为第一类对象暴露的一些批评是什么?

我觉得有一流的延续很好.它允许完全控制指令的执行流程.高级程序员可以针对某些类型的问题开发直观的解决方案.例如,continuation用于管理Web服务器上的状态.语言实现可以在延续之上提供有用的抽象.例如,绿色线程.

尽管如此,是否有强烈反对一流延续的论据?

ruby scheme continuations functional-programming

4
推荐指数
2
解决办法
808
查看次数

如何编写ANSI C控制台屏幕缓冲区?

我正在努力制作一个基于ASCII的游戏,而且我看到的每个人都在说使用来自MSDN的Console.Write(),如果你使用的是Windows,那就是花花公子,但我不是.

因此,我正在尝试在C中编写一个函数或一组函数,它们可以在两个屏幕缓冲区之间交替,并将它们写入屏幕,类似于手册页,以及pico,vim和emacs的.

我有缓冲区正在工作,并发现一个名为0verkill的旧的ASCII游戏,它使用C和putchar()将每个字符放在屏幕上,但我尝试重新创建它,导致文本连续流动,而不是窗口大小的静态文本面板.我真的不想使用像curses这样的任何外部库(因为这会降低可移植性),并且如果可能的话,我希望保持ansi标准.

谢谢!

c standards buffer ncurses console-application

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

检查Tic-Tac-Toe的胜利

好的,所以我已经完成了我的最新项目,一个(不可否认的是不太好)在Common Lisp中实现了Tic Tac Toe(整个程序可以在这里找到),但我最后一部分被困在了最后一个部分.我无法弄清楚如何获得检查胜利者工作的功能.函数(及其从属函数)如下所示:

(defun check-for-win ()
    (cond ((is-line 1 2 3) t)
            ((is-line 1 4 7) t)
            ((is-line 1 5 9) t)
            ((is-line 2 5 8) t)
            ((is-line 3 6 9) t)
            ((is-line 3 5 7) t)
            ((is-line 4 5 6) t)
            ((is-line 7 8 9) t))
    nil)

(defun is-line (a b c)
    (let ((a (aref *board* (- a 1)))
              (b (aref *board* (- b 1)))
              (c (aref *board* (- c 1))))
        (if (and 
                  (eql a b) …
Run Code Online (Sandbox Code Playgroud)

lisp common-lisp

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

列表中所有匹配元素的位置

我正在尝试在Common Lisp中编写一个类似于内置位置函数的函数,该函数返回大海捞针中与指针匹配的所有元素的位置列表,而不是第一个.我想出了一些可能的解决方案(例如,使用位置上的cdr-from函数递归搜索下一个元素并将结果添加到前一个位置)但是到目前为止我没有提出任何方法看起来特别优雅.

任何人都可以建议什么是接近这个的最佳方式,因为我目前正在努力.

lisp common-lisp

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

关于在C++代码中使用realloc实现的问题

在我们的C++中,Iam目前使用realloc方法来调整malloc分配的内存大小.realloc()的使用如下所示

my_Struct *strPtr =(my_struct*)malloc(sizeof(my_Struct));

/* an later */

strPtr = (my_struct*)realloc(strPtr,sizeof(my_Struct)*NBR);
Run Code Online (Sandbox Code Playgroud)

现在wikipeadia(_http://en.wikipedia.org/wiki/Malloc)说

如果相反的话

void *p = malloc(orig_size);

/* and later... */

p = realloc(p, big_size);
Run Code Online (Sandbox Code Playgroud)

然后,如果不可能获得big_size字节的内存,p将具有值NULL并且我们不再有指向先前为p分配的内存的指针,从而产生内存泄漏

它还说纠正上述错误的正确方法是

void *p = malloc(orig_size);

/* and later... */

void *tmp = realloc(p, big_size); 

if (tmp != NULL)
 {

p = tmp; /* OK, assign new, larger storage to p */

} 

else 

{

/* handle the problem somehow */

}
Run Code Online (Sandbox Code Playgroud)

你能告诉我使用realloc()的最佳方法是什么

一旦我有一个结构的指针,然后在使用realloc后,我可以使用指针到一个空格???

非常感谢

c++ memory-management realloc

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

尝试反转char数组时出错

我正在努力改进C++(我知道一点).我正在研究字符数组.我找到了一个练习,其目标是反转一个字符数组(在我从一个整数转换后).我收到以下错误(使用VS2005):

运行时检查失败#2 - 变量'revBuffer'周围的堆栈已损坏.

当我单步执行代码时,我会注意到以下内容:

revBuffer = 0x0012fe40"100899ÌÌ","998001"

相关代码如下.

    char buffer[5];
    char revBuffer[5];
    int i;
    int j=5;
    long number = 998001;

    itoa(number, buffer, 10);

    for(i=0; i<strlen(buffer);i++)
    {
        revBuffer[j] = buffer[i];
        j--;
    }
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒.TIA!

c

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

函数的std :: string vs string literal

我想知道,我通常使用std :: string作为我的代码,但是当你在一个参数中传递一个字符串进行简单的比较时,最好只使用一个文字吗?

考虑这个功能:

bool Message::hasTag(string tag)
{
    for(Uint tagIndex = 0; tagIndex < m_tags.size();tagIndex++)
    {
        if(m_tags[tagIndex] == tag)
            return 0;
    }

    return 1;
}
Run Code Online (Sandbox Code Playgroud)

尽管它正在进行比较的属性是一个向量,并且无论使用这个函数可能会将字符串传递给它,使用const char*来避免创建一个新的字符串仍然会更好一个字符串文字呢?

c++ string stdstring string-literals

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

obj-c NSArray计数比较失败

NSArray *test1 = [NSArray arrayWithObjects:@"1",@"2", nil];
NSArray *test2 = [NSArray arrayWithObjects:@"1",@"2", nil];
NSArray *test3 = [NSArray arrayWithObjects:@"1",@"2", nil];

NSLog(@"%d", [test1 count] == [test2 count] == [test3 count]);
Run Code Online (Sandbox Code Playgroud)

会打印0.为什么?

comparison objective-c count nsarray

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

TabBarController和NavigationController的问题

我尝试使用的标签...什么都试过叫各的UIViewController内一个UINavigationController ...阅读每一篇文章编程做的UITabBarController ...但香港专业教育学院的教程100%发现使用在UITableViewControllers ...这里是应用程序代表:

//
//  mluThunderCamAppDelegate.m
//  mluThunderCam
//
//  Created by Paulo Ferreira on 11/9/09.
//  Copyright MobileLifeUtils.com 2009. All rights reserved.
//

#import "mluThunderCamAppDelegate.h"

@implementation mluThunderCamAppDelegate

@synthesize window, tbcMain;


- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    // Override point for customization after application launch
 UINavigationController *ncLocal;
 mluThunderCam *vcThunderCam = [[mluThunderCam alloc] init];
 ncLocal = [[UINavigationController alloc] initWithRootViewController:vcThunderCam];
 [ncLocal release];

 mluThunderCamPreferences *vcThunderCamPreferences = [[mluThunderCamPreferences alloc] init];
 ncLocal = [[UINavigationController alloc] initWithRootViewController:vcThunderCamPreferences];
 [ncLocal release];

 NSArray *aViewControllers = [[NSArray alloc] initWithObjects:vcThunderCam, vcThunderCamPreferences, nil]; …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uitabbarcontroller uinavigationcontroller

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

在MAC 10.3.9 Cocoa中解析和编写XML?

什么是我可以使用cocoa for mac10.3.9进行解析或写入XML的最佳方法.我特意提到操作系统的版本,因为我在文档中读到过像Mac 10.3.9 sdk不支持NSXML类.

我发现了一个OpenSource libaray(libxml),它是我唯一可以使用的库吗?关于以上内容,请给我一些建议....

请尽快回复......

谢谢普拉迪普.

xml macos cocoa objective-c

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

For Loop未执行

该公式根本没有执行.我尝试使用printf调试,它i在代码的末尾打印出0

#include <stdio.h>

int main()
{
 int i, base, height;
 printf("Lumber  Cross-Sectional   Moment of Section\n");
 printf("Size  Area    Inertia  Modulus\n");
 for (i = 0; i > 35; i++)
 {
  if (i == 6 || i == 12 || i == 18|| i == 24 || i == 30)
  {
   base = base * 2;
   height = 2;
  }
  if (i != 6 || i != 12 || i != 18 || i != 24 || i != …
Run Code Online (Sandbox Code Playgroud)

c for-loop

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