我是C++的新手,从Java转向并想知道这个:
pos = result.find(remove[i]);
if (pos == string::npos)
Run Code Online (Sandbox Code Playgroud)
它是在调用字符串"superclass"吗?我很困惑,如果它正在调用类本身访问常量"npos"如果我在我的函数中声明了几个字符串变量,它如何知道它是哪个类的实例?
这是一个关于如何使用尽可能少的代码高效编码的问题.它已经可以工作但我需要将参数包含在内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) 什么是检查Cocoa类在ARC下取消分配的最快方法,在我自己的类中,当我想检查内存问题时,我在- (void) dealloc;方法中放了一个NSLog ,所以我知道它何时被解除分配.但对于像NSArray这样的Obj-C类,我怎么知道它何时被解除分配?如果我将类设置为nil,那么使用ARC也会自动从内存中删除它吗?
这是一个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) 我需要了解这种递归是如何工作的,我理解简单的递归示例,但更高级的示例很难.甚至认为只有两行代码我对... 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) 我越来越接近揭穿这个递归的谜团,只有一件事我无法在这行代码中追踪,这就是最后的返回值,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) 问题是删除使用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) c++ ×3
objective-c ×3
recursion ×2
ios ×1
java ×1
memory-leaks ×1
persistence ×1
string ×1
subset-sum ×1
writetofile ×1