问题标签 [guard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
1364 浏览

c++ - 函数调用保护

假设我有一个名为InitFoo. 我想保护这个函数不被意外调用多次。没有多想,我写了以下内容:

不过,这看起来像一个大疣。InitFoo不需要保留任何其他状态信息。有人可以建议一种方法来实现相同的目标而不会丑陋吗?

当然,宏不算数。

0 投票
3 回答
3333 浏览

.net - 什么是守卫方法/类?

我只是注意到这个问题中提到的警卫方法/类,我并没有真正从答案中得到这个概念。唉,Jon Skeet 指向 MS 网站的链接从未加载过。一些快速的谷歌搜索似乎只产生产品,而不是软件工程概念。

任何解释和/或样本将不胜感激。(尤其是 .Net 方面。)

0 投票
8 回答
1258 浏览

c - C中的范围保护

我想在 C 中使用范围保护来进行分析。

我想知道我在一个函数上花了多少时间。这是我所做的:

每次退出函数时,我都需要放置一个 toc 语句。我想这样做,而不必到处复制粘贴目录。有没有一种通用的方法来做到这一点,使用宏或其他东西?此外,我不想更改调用函数的方式,因为我必须分析许多函数。

谢谢

0 投票
4 回答
2660 浏览

haskell - 在 Haskell 中,有没有办法在函数保护中进行 IO?

例如:

这可以工作吗?

0 投票
1 回答
323 浏览

iphone - 仅在启用 mallocguard 时出现 exc_bad_access 错误

我有一个正在开发的 iPhone 应用程序,它在 Malloc 防护未启用时可以正常工作。但是,当我尝试启用 malloc 保护时,加载应用程序后出现以下错误。

#1 0x30506515 in NSPopAutoreleasePool ()

#2 0x30901697 in _UIApplicationHandleEvent ()

#3 0x32046375 in PurpleEventCallback ()

#4 0x30245560 in CFRunLoopRunSpecific ()

#5 0x30244628 in CFRunLoopRunInMode ()

#6 0x308f930d in -[UIApplication _run] ()

#7 0x309021ee in UIApplicationMain () 现在我的问题是我无法调试它得到错误的确切位置..尝试了 malloc_error_break 但没有成功。是不是 malloc 守卫启用自动释放一些基于分配的对象?

0 投票
2 回答
350 浏览

haskell - 可以在 Haskell 中定义自定义保护机制吗?

如果您查看以下示例catches

看起来catches已经定义了一个自定义机制来匹配模式(两种异常类型)。我错了,还是可以将其概括为允许定义一个函数,该函数可以采用与特定模式匹配的 lambda 函数?

编辑:以下仅供参考是 GHC 的渔获来源。如果有人可以阐明这是如何工作的,那就太好了。

0 投票
1 回答
626 浏览

iphone - 为 Iphone 设备或商店套件 api 启用保护 malloc?

我正在将 store kit api 用于 iphone 上的应用程序。我想知道是否可以在设备上运行时启用 Malloc Guard,看看是否有内存泄漏。有人可以告诉我是否可能吗?

0 投票
4 回答
2649 浏览

haskell - Haskell 中的控制语句?

我刚刚开始使用 Haskell,但是从我发现的所有在线教程中,我似乎无法找到是否有一种可接受的方式来执行条件控制语句。我见过 if-else、守卫和模式匹配,但它们似乎都完成了同样的事情。是否有一种普遍接受/更快/更有效的方式比其他方式?

0 投票
1 回答
373 浏览

oracle - Oracle Data Guard - 对作为主数据库镜像副本的备用数据库进行哪些更改

在设置了使用 Raid1 设置的主数据库之后。我打破了镜像并将其物理传输到备用数据库硬件并进行了 Raid1 同步。这样,我就可以在备用数据库上精确复制主数据库。

但是,由于备库的数据和主库完全一样,所以我不得不把它改成备库。

例子:

主数据库服务器 oracle_sid=chicago
备用数据库服务器 oracle_sid=chicago(因为它是复制数据)

我需要将备用数据库 oracle_sid 更改为 boston。

我相信将 oracle_sid 更改为 boston 并不是一个简单的案例,因为数据库名称是芝加哥。

了解进行更改的任何具体和详细的​​步骤。

0 投票
2 回答
107 浏览

c++ - 自动需要的课程?

假设我有一个 A 类和一个 B 类。

A 的 .h 需要 B 的 .h,B 的 .h 需要 A 的 .h。(need = #include)。

所有 .h 都有警卫:

但是如果我编译A的.cpp,那么当它包含B的.h时,B类不能包含A类的.h,因为A类已经使用了防护。

我该如何解决这个问题?