- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个带有两个或更多参数的小型日志记录类:
void my_log(int level, pattern [, fillins...]);
(模式和填充以类似 sprintf 的方式处理。)
my_log
的执行开始:
if ( level < _min_level ) return;
我认为这会整齐地短路对 very_elaborate_representation()
的调用 ...
my_log(DEBUG, "%s", my_object.very_elaborate_representation());
当 _min_level 大于 DEBUG 时。
但事实并非如此:显然(并不奇怪)参数是在函数调用之前求值的。
格式化很昂贵,仅用于调试和故障排除。
除了用 if 测试包装调用之外,是否有一种干净的方法可以用 C++11 解决这个问题?
最佳答案
不确定是否有帮助,但这是我之前实现日志记录模块的方式:
在头文件中:
#define LOG(level,...) do {if (level >= MIN_LEVEL) log_printf(__VA_ARGS__);} while (0)
void log_printf(const char* data,...);
在源文件中:
void log_printf(const char* data,...)
{
char str[64] = {0}; // You can think of other ways for allocating it
va_list args;
va_start(args,data);
vsnprintf(str,sizeof(str),data,args);
va_end(args);
printf(str);
}
为了发出日志消息,您只需要调用LOG(SOME_LEVEL,some-parameters)
。
关于c++ - 推迟函数调用参数的评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21246248/
我想以与 Angular 的 defer.resolve 和 Javascript Promise 对象相同的方式解析一个 Promise 对象。换句话说:我想创建一个要返回的虚拟 promise 对
我有两个实时制作和更新的图,如下所示: 我使用标准函数 plot() 和 lines() 生成了这些图。由于我实时生成和重新生成这些图,因此需要进行大量重绘和闪烁操作。 是否可以在两个图都完成之前推迟
我的一个页面上有一些 js 代码,它使用 ajax 加载一些页面元素。这些发生在页面的最顶部,不幸的是减慢了页面其余部分的加载速度。我想知道是否有办法推迟此操作,以便它在页面加载后加载。 这是我正在使
我有以下场景。 CompletableFuture result = CompletableFuture.supplyAsync(task, executor); result.thenRun(()
我经常更新用户表,它只是设置用户的最后一次上线时间,我想知道是否有一种简单的方法可以延迟它们并将它们在短超时(5 分钟或所以)。这将大大减少对我的用户数据库的查询。 最佳答案 如果您执行UPDATE
Gtmetrix 说有一些来自 youtube 的 JS 文件需要推迟。我删除了 iframe 并使用 jQuery 和经典的 Javascript 代码推迟了它,但这两种方法都不起作用。 Gtmet
我正在寻找阻止切换 RadioButton 的可能性,但仍然捕获 Click 事件。不幸的是,使用 Enabled=false 或 IsHitTestVisible=false 属性会阻止 Click
在我的小应用程序中,我从系统(不受我控制)收到一系列排队的 onEventXXX()。 不能保证那些 onEventXXX() 的时间。唯一可以保证的是,它们会按照放入队列的顺序接收。 在 onEve
我有一个在多个 View Controller 中使用 UIWebViews 的应用程序。 UIWebViews 用于渲染本地生成的 html,无需缓慢的网络访问。 为了节省内存,我仅根据 viewc
有时我想推迟 Promise 构造函数的执行,但仍然能够定义 Promise 链。我发现并稍微调整了以下方法,但由于我对 promise 的经验很少,所以我想知道 是否有更简洁的方法来做到这一点? 这
我刚刚遇到了使用 jQuery 的 .delay() 方法(v 1.4.2)尝试延迟以下 .load() 方法的问题。 像这样: $('myElement').delay(500).load('myP
我定义了一个成员变量如下。由于变量不会传递,所以我决定在这里使用 scoped_ptr 而不是 shared_ptr。 class ClassName { public: ClassName(
在开发我的作品集时,我意识到页面加载需要很长时间,因为必须加载所有图像才能完成页面加载。 所以,我想知道是否有办法阻止或停止加载,然后再允许加载。 意思是,立即阻止加载,然后单击已加载的另一个元素,比
这个问题已经有答案了: Defer loading and parsing of PrimeFaces JavaScript files (2 个回答) 已关闭 8 年前。 Google pagesp
我正在尝试推迟或异步加载 Trip Advisor 小部件,但由于某种原因它不起作用。 我认为异步或延迟可能不起作用,因为 Trip Advisor 脚本随后执行 document.write 命令。
我正在尝试使用 Ajax 将一些内容加载到页面中。加载的 html 包含一些 JavaScript 代码。即使代码包装在 $(document).ready 中,它也会在内容插入文档之前执行,因为在加
我正在使用模板字符串来生成一些文件,我喜欢新的 f 字符串的简洁性,用于减少我以前的模板代码,如下所示: template_a = "The current name is {name}" names
我有一个处理多个客户端连接的 Android 绑定(bind)服务。如果我理解正确的话,如果没有客户端连接,Android 将终止该服务。 但是,此时,在客户端断开连接后 1 分钟内,我的服务可能仍有
我的以下目标是: 获取决议列表 (按顺序)扫描每个内容,找到第一个导致成功直播的内容 为了测试这一点,我有 testVideoPresence: var testCounter = 0; functi
现在,我让用户在注册页面上输入数据,其中包括让用户输入他们的“计划类型”。我将此用户数据存储在 Firebase 上。 在用户提交上一个输入页面后的下一页上,我将用户带到一个输出页面,该页面使用 An
我是一名优秀的程序员,十分优秀!