小编Tom*_*eit的帖子

c ++ string :: npos是否调用字符串类?

我是C++的新手,从Java转向并想知道这个:

        pos = result.find(remove[i]);  
        if (pos == string::npos)
Run Code Online (Sandbox Code Playgroud)

它是在调用字符串"superclass"吗?我很困惑,如果它正在调用类本身访问常量"npos"如果我在我的函数中声明了几个字符串变量,它如何知道它是哪个类的实例?

c++ string

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

Objective-C:具有最少代码量的多个if和return语句

这是一个关于如何使用尽可能少的代码高效编码的问题.它已经可以工作但我需要将参数包含在内numberOfShapes.如果1返回■,如果2■■,如果3■■■等...

我可以做一些额外的if statemets和额外的return语句.如果Square-> if number = 1>返回■,如果number> 2则返回■■等.但这是很多非常简单的代码.

使用最少量的代码编写代码的最佳方法是什么?

- (NSString *)getShape: (NSNumber *)shape numberOfShapes: (NSNumber *)number
{
    if ([shape isEqualToNumber:[NSNumber numberWithInt:SQUARE]]) return @"?";
    if ([shape isEqualToNumber:[NSNumber numberWithInt:CIRCLE]]) return @"?";
    if ([shape isEqualToNumber:[NSNumber numberWithInt:TRIANGLE]]) return @"?";

    return @"?";
}
Run Code Online (Sandbox Code Playgroud)

objective-c

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

Obj-C:检查内存泄漏 - 如何知道Cocoa对象何时从内存中删除

什么是检查Cocoa类在ARC下取消分配的最快方法,在我自己的类中,当我想检查内存问题时,我在- (void) dealloc;方法中放了一个NSLog ,所以我知道它何时被解除分配.但对于像NSArray这样的Obj-C类,我怎么知道它何时被解除分配?如果我将类设置为nil,那么使用ARC也会自动从内存中删除它吗?

memory-leaks memory-management objective-c

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

我是否以正确的方式使用switch语句

这是一个yahtzee游戏,这个方法应该计算并返回五个骰子的值.但这是一种愚蠢的方式,有一个switch语句,通过参数传递用户选择的类别,然后是每个可能类别的for循环.有可能比我的设计理念更容易做到这一点吗?

private int assignScoreToCategory(int category)
{
    int computedScore = 0;
    println("dice: "+dice1+" "+dice2+" "+dice3+" "+dice4+" "+dice5);

    //  Switches on the category the user has selected.
    switch (category)
    {
    case ONES: 
        for (int i = 0; i < 4; i++){
            if (diceArray[i] == ONES){
                println(computedScore);
                computedScore++;
            }
        }break;

    case TWOS: 



        break;
    case THREES: break;
    case FOURS: break;
    case FIVES: break;
    case SIXES: println("cat 6");   break;
    case UPPER_SCORE: break;
    case UPPER_BONUS: break;
    case THREE_OF_A_KIND: break;
    case FOUR_OF_A_KIND: break;
    case FULL_HOUSE: break;
    case …
Run Code Online (Sandbox Code Playgroud)

java switch-statement

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

递归:理解(subset-sum)包含/排除模式

我需要了解这种递归是如何工作的,我理解简单的递归示例,但更高级的示例很难.甚至认为只有两行代码我对... return声明本身有问题.我只是画了一个关于它如何工作的空白,特别是和/或运算符.任何见解都非常受欢迎.

      bool subsetSumExists(Set<int> & set, int target) {
      if (set.isEmpty()) {
         return target == 0;
      } else {
         int element = set.first();
         Set<int> rest = set - element;
         return subsetSumExists(rest, target)
             || subsetSumExists(rest, target - element);
         } 
      }
Run Code Online (Sandbox Code Playgroud)

c++ recursion subset-sum

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

跟踪简单的递归函数

我越来越接近揭穿这个递归的谜团,只有一件事我无法在这行代码中追踪,这就是最后的返回值,243如果我调用rec()它传递值5.这应该是跟踪:

n: 4 *3: 12
n: 3 *3: 9
n: 2 *3: 6
n: 1 *3: 3
n: 0 *3: 0
n: 1 *3: 3

result: 243
Run Code Online (Sandbox Code Playgroud)

正确?它是如何得到243的结果的?

int rec(int n)
{
if (n == 0)
    return 1;


return 3 * rec(n-1);
}
Run Code Online (Sandbox Code Playgroud)

c++ recursion

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

NSFileManager:删除项目

问题是删除使用writeToFile:方法编写的项目,我似乎无法删除它。我尝试了NSFileManager,但我猜这是两种不同类型的存储。

- (BOOL) removeObject: (NSString *)objectToRemove inCategory:(StorageType)category
{
    BOOL result = NO;
    NSError *removeError;
    NSString *storageFolder = [self getCategoryFor:category];

    if (objectToRemove) {
        NSFileManager *fileManager = [[NSFileManager alloc]init];

        // Find folder
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
        NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:storageFolder];
        NSString *dataPathFormated = [dataPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]) {
            NSLog(@"Removing file error: folder was not found");
        }

        NSURL *destinationURL = [[NSURL alloc]initWithString:[NSString stringWithFormat:@"%@/%@",dataPathFormated,objectToRemove]];
        //NSString *destinationString = [NSString …
Run Code Online (Sandbox Code Playgroud)

persistence objective-c nsfilemanager ios writetofile

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