小编kod*_*dai的帖子

Java boolean getters"is"vs"are"

我知道Java中用于布尔getter的约定包括前缀"is".

isEnabled
isStoreOpen
Run Code Online (Sandbox Code Playgroud)

但如果主题是复数呢?也就是说,如果不想知道商店是否开放,我想知道所有商店是否开放?

isStoresOpen() 用英语没有意义.

我很想写下这样的吸气剂:

areStoresOpen
areDogsCute
areCatsFuzzy
Run Code Online (Sandbox Code Playgroud)

我认为,这将是有意义的,但我已经被别人认为我应该只吸了起来,抛弃主题动词协议,并使用告诉isStoresOpen,isDogsCute,isCatsFuzzy.

无论如何,我应该怎么做对多个主题进行操作的布尔getter?

java boolean naming-conventions

86
推荐指数
7
解决办法
3万
查看次数

为什么内联被认为比函数调用更快?

现在,我知道这是因为没有调用函数的开销,但是调用函数的开销真的那么重(并且值得让它内联的膨胀)?

根据我的记忆,当一个函数被调用时,比如说f(x,y),x和y被压入堆栈,堆栈指针跳转到一个空块,然后开始执行.我知道这有点过于简单了,但我错过了什么吗?一些推送和跳转来调用一个函数,真的有那么多的开销吗?

如果我忘了什么,请告诉我,谢谢!

c++ optimization compilation inline function-call

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

AT&T语法中(%eax)的含义?

你不得不原谅我,我是x86装配和一般装配的新手.

所以我的问题是,我有类似的东西:

addl %edx,(%eax)
Run Code Online (Sandbox Code Playgroud)

%eax是一个寄存器,它包含一个指向某个整数的指针.我们称之为xp

这是否意味着它说:*xp = *xp + %edx?(%edx是整数)

我很困惑addl将存储结果的地方.如果%eax是指向int的指针,那么(%eax)应该是该int的实际值.因此,将addl存储的结果%edx+(%eax)*xp?我真的很想有人向我解释这个!

我非常感谢任何帮助!

x86 assembly addressing-mode

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

NSSet实现

这个问题只是出于好奇,但NSSet是如何实现的?它背后是什么数据结构以及添加和删除元素的访问时间是多少?如果我不得不猜测,我会说它是某种哈希表/字典数据结构,但在这种情况下为什么要区分NSSet和NSMutableSet?

cocoa objective-c nsset

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

如何插入PDO(sqllite3)?

我在使用pdo插入sqlite3数据库时遇到了一些麻烦.你不得不原谅我对PDO的无知,这似乎来自Python的数据库界面.

所以这是我的问题.我有一个简单的插入:

$dbh = new PDO('sqlite:vets.db');
    $count = $dbh->exec("INSERT INTO vets(name,email,clinic,streetname,citystatezip,link,phone,fax,animal,region,visible) VALUES ($name,$email,$clinic,$streetname,$citystatezip,$link,$phone,$fax,$animal,$region,$visible)");
    $dbh = null;
Run Code Online (Sandbox Code Playgroud)

我只想在我的数据库上执行该SQL命令并完成它.虽然执行此脚本不会导致错误,但它永远不会更新数据库.我已经尝试过对数据库本身的各种权限,甚至将其设为777,但它没有任何区别.

有人能帮助我吗?

php sqlite pdo

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

如何通过调用malloc()来分配多少空间?

我正在尝试编写像这样的大小函数:

size(void *p,int size);
Run Code Online (Sandbox Code Playgroud)

这将返回p指向的数组的大小.例如:

Int *a = malloc((sizeof(int)*100));
size(a,sizeof(int)); // this should return 100
Run Code Online (Sandbox Code Playgroud)

我认为这是可能的,因为如果我记得,malloc会跟踪在某些头字节中分配的空间.

这是我到目前为止所拥有的:

int size(void *p, int size)
{
  p = (unsigned int *)p - 1;
  unsigned int elements = (*(unsigned int *)p);
  return elements/size;
}
Run Code Online (Sandbox Code Playgroud)

现在,假设分配的空间大小在指针之前的4个字节中,这应该返回字节或偏移量.这就是我在黑暗中的地方.我无法弄清楚malloc如何格式化这些头字节的细节.malloc如何打包标题位?

谢谢,我很感激.我确定这段代码有问题,而且它不是特别便携,可能与系统有关,但我这样做很有趣.

c malloc memory-management

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

NSData从NSKeyedArchiver到NSString

我正在尝试将NSKeyedArchiver生成的NSData转换为NSString,以便我可以传递它并最终将其转换回NSData.我必须将其作为字符串传递(我使用的是三次传递URL).我已经经历了各种编码,UTF8,ASCII等,并且无法获得任何工作.NSKeyedArchiver说NSData被格式化为属性列表:NSPropertyListBinaryFormat_v1_0.

有没有人知道如何将这个NSData转换为String并再次返回?字符串的大小不是问题.

谢谢

cocoa objective-c nsstring nskeyedarchiver nsdata

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

NSURLConnection POST也调用相同URL的GET

我有一个NSURLConnection,它是服务器的一个帖子,但我希望它返回一些小数据,无论它是否成功.

        -(void)submitPost:(NSString *)xml
    {
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[service generateURL]];
        NSString *result = (NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)xml, NULL, CFSTR("?=&+"), kCFStringEncodingUTF8);
        [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
        [request setHTTPBody:[result dataUsingEncoding:NSUTF8StringEncoding]];
        [request setHTTPMethod:@"POST"];
        NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
        if(theConnection)
        {
            NSLog(@"Connection success");
            [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
            [theConnection retain];
            failed = NO;
        }
        else 
        {
            NSLog(@"Connection failed");
        }
}
Run Code Online (Sandbox Code Playgroud)

问题是,它不仅发送一个帖子的URL,它还发送一个GET,并且GET响应作为数据返回...我有点困惑.我查看了他的wireshark输出,它绝对是一个帖子和一个得到.

你们有什么感想?

objective-c nsurlconnection

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

NSInteger和decodeInteger:forKey:问题

我有以下两种归档方法:

    - (void) encodeWithCoder: (NSCoder *) encoder {
    [encoder encodeObject:self.exercises forKey:@"exercises"];
    [encoder encodeObject:self.title forKey:@"title"];
    [encoder encodeObject:self.description forKey:@"description"];
    [encoder encodeInteger:self.idnum forKey:@"idnum"];
    [encoder encodeInteger:self.rating forKey:@"rating"];
    [encoder encodeInteger:self.frequency forKey:@"frequency"];
    NSLog(@"Encoding!");

}

- (id) initWithCoder: (NSCoder *) decoder {
    self.exercises =   [[decoder decodeObjectForKey:@"exercises"] retain];
    self.title =       [[decoder decodeObjectForKey:@"title"] retain];
    self.description = [[decoder decodeObjectForKey:@"description"] retain];
    self.idnum =       [[decoder decodeIntegerForKey:@"idnum"] retain];
    self.rating =      [[decoder decodeIntegerForKey:@"rating"] retain];
    self.frequency =   [[decoder decodeIntegerForKey:@"frequency"] retain];
    NSLog(@"Decoding!");
    return self;
}
Run Code Online (Sandbox Code Playgroud)

标题:

    @interface Workout : NSObject{

    NSMutableArray *exercises; 
    NSString *title;
    NSString *description; …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c

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

log(n)=Ω(n)?

我相信不是.定义是:

log(n) >= c*n for some n = x, and all n > x
Run Code Online (Sandbox Code Playgroud)

我认为不是因为c*n = c的增长率.log(n)的增长率= 1/n.因此,当n->无穷大时,n的增长率接近0,而c,c*n的增长率是恒定的.鉴于最终log(n)最终将比任何n*c增长得慢,其中c> 0,n*c将超过log(n).

那么,几个问题.

  1. 我可以假设大欧米茄的定义中c> 0吗?
  2. 我的直觉是否正确?
  3. 我对上面的证据感到矛盾.因为对于非常小的c,log(n)= cn很早,我的上述假设意味着它们会再次交叉,这意味着log(n)= cn有多个解决方案,这似乎是错误的.

我很困惑,很感激帮助!

complexity-theory big-o

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