小编Jes*_*per的帖子

C++能做什么在任何其他语言中都太难或太乱了?

我仍然觉得C++提供了一些无法打败的东西.我不打算在这里开始一场火焰战,如果你对不喜欢C++有强烈的意见,请不要在这里发泄它们.我很想听听C++大师们为什么坚持下去.

我对C++的方面特别感兴趣,这些方面鲜为人知或未充分利用.

编辑:人们,请至少粗略阅读其他回复,以确保你没有复制已经说过的内容,如果你同意别人所说的话,那就投票吧!

c++ unique

30
推荐指数
11
解决办法
6666
查看次数

断言总是坏的吗?

我曾经在一家公司工作,其中一些主要架构师/开发人员已经强制要求断言不使用的各种项目,并且他们通常会从代码中删除并替换为异常.

我觉得他们在编写正确的代码时非常重要.任何人都可以建议如何证明这样的授权是合理的吗?如果是这样,断言有什么问题?

c++ exception assertions

20
推荐指数
3
解决办法
4016
查看次数

为什么C++中的模板mixin不再是主流?

我在C++中使用模板mixins很多,但我想知道为什么这个技术不再使用.它似乎是最终的重用.这种权力和效率的结合是我真正喜欢C++的原因之一,并且无法看到自己转向JIT语言.

这篇文章:http://www.thinkbottomup.com.au/site/blog/C%20%20_Mixins_-_Reuse_through_inheritance_is_good是一个很好的背景,如果你不知道它们是什么,并在重用方面如此清楚地说明和表现.

c++ performance templates mixins reusability

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

跨平台C++:跨平台使用本机字符串编码还是标准化?

我们特别关注Windows和Linux开发,并提出了两种似乎都有其优点的不同方法.Windows中的自然unicode字符串类型是UTF-16,linux中是UTF-8.

我们无法决定最佳方法:

  1. 在我们所有的应用程序逻辑(和持久数据)中标准化其中一个,并使其他平台进行适当的转换

  2. 将OS的自然格式用于应用程序逻辑(从而调用OS),并仅在IPC和持久性点进行转换.

对我来说,他们似乎都和对方一样好.

c++ linux windows unicode cross-platform

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

忙碌的游标 - 为什么?

任何人都可以给我一个场景,他们认为繁忙的游标是合理的吗?从用户的角度来看,我觉得他们总是一个坏主意.澄清:忙碌的游标,我的意思是当用户无法再与应用程序交互时,他们只能移动他们的沙漏鼠标指针并发出一个曲调.

user-interface multithreading asynchronous busy-cursor

9
推荐指数
3
解决办法
3477
查看次数

为什么在两个内部进程之间使用Web服务而不是RPC?

任何人都可以建议使用Web服务而不是RPC(而不是xml-rpc)作为两个C++进程之间的通信通道的理由,这两个进程都将由同一个团队开发吗?注意:Web服务不保证订购交付!

c++ rpc web-services

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

在编程中应该采用哪些替代用户输入技术?

编程与例如由于需要输入大量特殊符号等的文字处理特别不同.

当前的新用户界面技术,适合编程,为什么?

或者语言语法的概念是问题,我们是否应该更符号地编程,如果是,这将如何影响用户界面?

编辑:当我指定用户界面技术时,我使用现有硬件(鼠标/键盘)和其他一些东西,如多点触控,手势识别,增强现实(请参阅HitLabNz的一些很好的例子).我对如何将这些应用于编程感兴趣.

user-interface input-devices hci

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

人们如何在C#中使用mixin风格的重用?

我来自C++背景,我可以使用模板mixins来编写引用FinalClass的代码,这是传入的模板参数.这允许可重用​​函数"混入"任何派生类,只需从ReusableMixin继承即可使用MyFinalClass的模板参数.这一切都被内联到课堂中,所以就好像我只是写了一个大课程来做所有事情 - 即非常快!由于mixins可以链接,我可以将各种行为(和状态)混合到一个对象中.

如果有人想要澄清这项技术,请询问.我的问题是,如何在C#中重用?注意:C#泛型不允许从泛型参数继承.

c# c++ generics code-reuse template-mixins

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

这是MSVC++ 2017更新3中的编译器错误

#include <vector>

std::vector<int>::iterator foo();
void bar(void*) {}

int main()
{
    void* p;
    while (foo() != foo() && (p = 0, true))
    {
        bar(p);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

结果有误:

c:\ users\jessepepper\source\repos\testcode\consoleapplication1\consoleapplication1.cpp(15):错误C4703:使用了未初始化的本地指针变量'p'

c++ visual-studio compiler-bug

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

NSMutableArray addObject不影响计数?

任何人都可以告诉我为什么登录[self.giftees count]仍然返回0,即使我正在添加对象?

标题:

#import <UIKit/UIKit.h>

@interface Test2AppDelegate : NSObject <UIApplicationDelegate>  
{
    UIWindow *window;
    NSMutableArray *giftees;
}

@property (nonatomic, retain) UIWindow *window;
@property (nonatomic, retain) NSMutableArray *giftees;

@end
Run Code Online (Sandbox Code Playgroud)

从didFinishLaunchingWithOptions调用:

- (void)bootstrapGiftees
{
    NSArray *gifteeNames = [NSArray arrayWithObjects:@"Jesse",,nil];

    for (NSString *gifteeName in gifteeNames)
    {
        GifteeModel *g = [[GifteeModel alloc] init];
        g.name = gifteeName;

        [self.giftees addObject:g];
        NSLog(@"giftees count = %d", [self.giftees count]);
        [g release];
}
}
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray

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