小编Hen*_*eia的帖子

在c ++中,异常如何工作(幕后)

我一直看到有人说异常很慢,但我从来没有看到任何证据.因此,我不会询问它们是否存在,而是会询问异常是如何在场景背后起作用的,因此我可以决定何时使用它们以及它们是否很慢.

据我所知,异常与做一堆返回是一回事,但它也会检查何时需要停止返回.它如何检查何时停止?我正在猜测并说有一个第二个堆栈,其中包含异常类型和堆栈位置然后返回直到它到达那里.我也猜测堆栈触摸的唯一时间是抛出和每次尝试/捕获.使用返回代码实现类似行为的AFAICT将花费相同的时间.但这都是猜测,所以我想知道.

例外如何真正起作用?

c++ performance exception try-catch throw

108
推荐指数
5
解决办法
3万
查看次数

是否有理由使用像这样的&#*foo的C语言指针?

当我需要更改指针的原始内存地址时,我会使用这样的代码编写代码.

例:

static void get_line_func(struct data_s *data,
                                char **begin)
{
    data->slot_number = strsep(&(*(begin)), "/");
    data->protocol = *begin;
    strsep(&(*begin), ">");
    data->service_name = strsep(&(*begin), "\n");
}
Run Code Online (Sandbox Code Playgroud)

我的意思是,不是&(*foo) == foo吗?

c pointers

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

为什么在你设置了很远的日期后几乎每个应用程序都会崩溃?

我正在使用 XCode 11.4 从 XCode 具有的模板创建一个简单的“单视图应用程序”。然后,我构建应用程序并在真实设备 iOS 6s 版本 13.4.1 上运行它。第一次,它按预期运行。它仅显示黑屏。

如果我在设备上设置它:

设置 > 日期和时间,关闭自动设置,将日期更改为 2034 年 1 月 6 日,杀死“单视图应用程序”,再次启动,

它只会在屏幕上闪烁。

即使我将时间设置回原来的时间,也只有重新安装应用程序才能恢复。

我无法获取堆栈跟踪,因为当日期在将来时我无法再次运行应用程序,我收到以下消息:

找不到此可执行文件的有效配置文件。

当调试器仅闪烁(立即终止)应用程序时,我无法附加调试器。

我为此使用付费帐户。

以下是导致崩溃的日期和时间配置:

日期时间崩溃

objective-c ios swift

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

标签 统计

c ×1

c++ ×1

exception ×1

ios ×1

objective-c ×1

performance ×1

pointers ×1

swift ×1

throw ×1

try-catch ×1