小编Bob*_*Bob的帖子

确定std :: string是否具有所有唯一字符[C++]

我有一个看起来非常简单的解决方案:

void determineStringUnique(std::string str) {
    std::sort(str.begin(), str.end()); //sort characters
    std::unique(str.begin(), str.end()); //remove duplicate characters in a row (why we did std::sort right before)
    std::cout << str.size() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

(我意识到这个功能尚未完成,我只是在调查std :: unique之后的大小.剩下要做的就是检查新大小是否等于原始大小 - 如果是这样,那么只有独特的人物).

但是当我打印出str.size()时,它总是等于原始字符串长度.经过一些调试后,我发现std :: unique删除了预期的(重复的)字符,但字符串中总有一些地方添加了一些字符,等等,我无法弄清楚原因.

这是一个示例输入:"abcdefghijklmnopabc".在std :: sort之后,我得到了"aabbccdefghijklmnop",正如所料.但是在std :: unique之后,我得到了"abcdefghijklmnopnop",这意味着它最后添加了"nop",但是在开头时确实摆脱了额外的a,b和c.

如果有人对此有答案,我们将不胜感激.谢谢!

c++ std

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

在它之前提供带有抽象版本的方法定义?

有没有可能:

public abstract void someMethod();
...
public void someMethod() {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

在同一个班?或者定义必须在子类中?

java

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

有谁知道如何解决"viewDidUnload undeclared"问题?

还有如何解决"预期"; 在'{'令牌?之前的代码(来自xcode 3.2.3)

- (void)viewDidUnload {

    self.cheatName = nil;

    self.description = nil;

}
Run Code Online (Sandbox Code Playgroud)

这两个错误都在第一行

- (void)viewDidLoad {
    [super viewDidLoad];

    [self.titleLabel setText:self.title];
    [self.descriptionLabel setText:self.description];


    float textHeight = [MLUtils calculateHeightOfTextFromWidth:self.description : descriptionLabel.font :descriptionLabel.frame.size.width :UILineBreakModeWordWrap];

    CGRect frame = descriptionLabel.frame;
    frame.size.height = textHeight;
    descriptionLabel.frame = frame;

    CGSize contentSize = descriptionScrollView.contentSize;
    contentSize.height = textHeight;
    descriptionScrollView.contentSize = contentSize;



- (void)viewDidUnload {
    self.cheatName = nil;
    self.description = nil;

}
Run Code Online (Sandbox Code Playgroud)

iphone xcode undeclared-identifier

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

标签 统计

c++ ×1

iphone ×1

java ×1

std ×1

undeclared-identifier ×1

xcode ×1