腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
我
可以用
常量
表达式
或
模板
替换
这个
宏
吗
?
、
、
、
、
我
有一个
宏
,它要么在
我
正常编译程序时声明一个RAII互斥锁,要么在
我
以单线程模式编译时跳过它以提高效率(在那里
我
设置了SINGLE_THREADED=1)。显然,
我
不喜欢尽可能多地使用
宏
。
我
使用的是C++20 (g++) -有没有办法重构这样的
宏
来使用constexpr
或
模板
而不是#define#ifdef SINGLE_THREADED #define REA
浏览 18
提问于2021-03-03
得票数 0
5
回答
常量
算术的编译时求值是怎么处理的,它能在预处理器中完成
吗
?
、
这是标准
吗
?如果是这样,条件运算符返回什么?0和1?有限制
吗
? 最让
我
感兴趣的是,你能用
宏
来实现
吗
?定义?
浏览 1
提问于2010-03-11
得票数 3
回答已采纳
2
回答
与朱莉娅语言中的C编程语法"#define“等价
、
、
在C编程语言中,#define指令允许在源代码中定义
宏
。这些
宏
定义允许声明
常量
值,以便在整个代码中使用。 return 0;好处是,如果代码中有多个函数,
我
就不需要将
常量
变量输入到每个函数中,编译器只需将定义的
表达式
替换
为继续值。现在<em
浏览 7
提问于2017-08-13
得票数 1
回答已采纳
2
回答
指针作为非类型
模板
参数
、
在回答时,
我
在标准(已经是C++03,仍然在C++11中)中发现,只有当地址是表单& id-expression (加上一些例外)时,才能使用地址作为非类型的
模板
参数。非类型、非
模板
参数的
模板
参数应为: ..。-一个
常量
表达式
(5.19),该
表达式
指定具有静态存储>持续时间和外部
或
内部链接的对象的地址,
或
具有外部<e
浏览 3
提问于2013-04-08
得票数 23
1
回答
用const定义的变量是否会耗尽内存?
我
一直在研究是否应该在C++中使用
宏
或
常量
。
这个
问题与此无关,但我意识到的一件事是,
宏
不占用内存(因为它们只是在预处理期间进行文本
替换
)。但是
常量
会占用记忆
吗
?
我
找不到一个很好的答案。
浏览 4
提问于2020-11-02
得票数 1
回答已采纳
2
回答
在静态断言和运行时错误之间自动选择
、
、
、
、
宏
BYTES_TO_WORDS是从不同的上下文调用的,有时使用x作为编译时
常量
整数
表达式
,而有时以x作为在运行时解析的整数
表达式
。是否有可能实现CHECK_ALIGNMENT,以便在使用
常量
表达式
调用
宏
时执行static_assert,以及在
表达式
不是编译时
常量
时执行某些运行时错误检查?
这个
是可能的
吗
?评论中有一些关于为什么
浏览 1
提问于2017-03-07
得票数 5
2
回答
TypeScript:有没有类似__FILE__编译器
宏
的东西?
在其他语言中,
我
知道__FILE__
或
类似的
表达式
(例如:在PHP语言中为
常量
,在C语言中为预处理器
宏
),它们将
替换
为当前源文件路径。在TypeScript中有这样的东西
吗
?
浏览 1
提问于2016-04-15
得票数 9
1
回答
使用
常量
而不是
宏
、
、
、
如果
宏
是用另一个这样的
宏
定义的,是否
可以用
常量
替换
宏
:#define ADDRESS_OFFSET (START + START_SIZE)and so on
我
不能完全确定,如果
我
使用全局
常量
并用
常量
初始化它们,会发生什么。这可以被认为是安全的<em
浏览 0
提问于2013-07-11
得票数 1
回答已采纳
4
回答
指向具有外部链接到非类型
模板
参数的对象的指针
、
我
尝试了下面的代码。++){ }实例化: printVAL<100>()问题:( 2)“具有外部链接的对象的指针可以使用”的含义是什么。能给我一些样本代码
吗
?
浏览 3
提问于2013-04-25
得票数 1
回答已采纳
1
回答
模板
参数演绎中的
替换
是如何工作的?
、
C++标准14.8.2美元7美元:
替换
发生在函数类型和
模板
参数声明中使用的所有类型和
表达式
中。
表达式
不仅包括
常量
表达式
(如出现在数组边界中
或
作为非类型
模板
参数出现的
表达式
),而且还包括sizeof、decltype和其他允许非
常量
表达式
的上下文中的通用
表达式
(即非常数
表达式
)。
替换
按词法顺序进行,并在遇到导致扣减失败的条件时停止。注意:异常规
浏览 1
提问于2016-08-16
得票数 6
回答已采纳
2
回答
在#if和#elif
表达式
中,名称的“定义”前缀是什么,用0
替换
标识符(包括C关键字)是什么?
、
、
、
、
我
试着把头绕在它周围,但放弃了。请您解释一下,摘自迈克巴纳汉的C书。尽管付出了多次努力,但我无法理解之后的部分“构成.的令牌序列”。你能简单地说一句
吗
? ( 1)“定义”前缀究竟是什么?if和#elif构造使用一个积分
常量
表达式
作为它们的参数。预处理器积分
常量
表达式
与其他积分
常量
表达式
相同,但它们不能包含cast运算符。构成
常量
表达式
的令牌序列经历
宏
替换
,除非由定义前缀的名称不展开
浏览 4
提问于2014-09-28
得票数 0
回答已采纳
5
回答
替换
此
宏
、
、
考虑到
这个
宏
我
想把它
替换
一下,这样
我
就可以写MAKE_TYPE("ABCD")而不是丑陋的MAKE_TYPE('A‘、'B’、'C‘、'D')。
我
在编译时使用
这个
来生成一些
常量
浏览 3
提问于2011-04-07
得票数 2
回答已采纳
3
回答
模板
参数可以是
表达式
吗
?
、
、
我
想这样做:bool AssertThrows() { T; // T is an expression, so evaluate it herethrows;但这不起作用:
我
得到的只是这些编译器错误:a.cc:1:10: error: unknown type name 'T' template<T>可以将
表达式
作为
模板
参数
吗
?
浏览 0
提问于2011-10-23
得票数 3
回答已采纳
2
回答
空*是否总是与char*具有相同的表示形式?
、
、
详细信息:int variadic(char*, ...); //<-prototype
我
想用(char*)0
替换
NULL,但从的: 66)
宏
NULL在(和其他标头)中定义为空指针
常量
;参见7.19。3值为0的整数
常量
表达
浏览 2
提问于2016-10-05
得票数 24
回答已采纳
2
回答
在全局变量的注释中设置DataFormatString
、
、
、
假设
我
有如下注释效果很好。但是,假设
我
想实时地
替换
DataFormatString,比如有些时候是{0:#.00#},有时是根据用户选择的一些应用程序设置来
替换
{0:#.000#}。有办法
吗
?
我
尝试将格式字符串存储在一个全局变量中,但它给出了以下错误。 属性参数必须是属性参数类型的
常量
浏览 5
提问于2012-12-13
得票数 0
回答已采纳
1
回答
我
如何判断一个elisp
表达式
是否是纯正和
常量
的?
、
、
有什么方法
可以用
任意的
表达式
来判断它是否是
常量
?
我
知道有unsafep,它似乎实现了必要的
表达式
树遍历,但是它正在评估一个不同于“
常量
”的标准,所以我不能直接使用它。可以假设标准Elisp函数、
宏
或
特殊形式(car、let、if等)的任何定义都没有。已经被修改过了。
我</
浏览 5
提问于2021-05-15
得票数 3
回答已采纳
1
回答
平凡的积分const变量是否总是被用作
模板
值?
、
这个
问题类似于,但更具体地适用于预-c++11场景。
我
注意到在Clang和g++中,以下内容在pre++11中编译并运行良好:template <En
浏览 1
提问于2021-08-12
得票数 2
回答已采纳
1
回答
要检查编译时
常量
的静态断言不会传递给
宏
。
、
、
、
、
是的,
这个
宏
用于运行时断言,而不是编译时断言.但是,
我
只需要这样,任何
常量
值(编译时)都不能传递给
这个
宏
。他还可以使用任何不在switch中使用的
表达式
。但这不是问题所在。只需要将非
常量
传递给
这个
宏
。 没有为
这个
宏
编写任何重要的东西,只要假设它是ASSERT/assert。
我
尝试过使用
模板
(使用它们的是其他SFINAE/静态-
浏览 2
提问于2012-11-30
得票数 3
回答已采纳
7
回答
#在C++中定义
常量
在各种C代码中,
我
看到
常量
定义如下:而在C++示例中,它几乎总是:
我
的理解是,在第一种情况下,预处理器将用100
替换
T的每个实例。在C++中定义
常量
被认为是糟糕的编程实践
吗
?
浏览 0
提问于2010-11-05
得票数 32
回答已采纳
1
回答
我
怎样才能把.elm文件变成HTML
模板
,而不是HTML文件呢?
、
、
我
只是看看埃尔姆。
我
希望elm-make生成一个HTML
模板
,并使用NodeJS进行渲染。显然,
我
可以将输出后缀更改为.ejs。
我
只需要插入几个
常量
。
我
不需要处理其他标记
或
迭代。
浏览 0
提问于2018-05-01
得票数 4
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
const和define的区别
C语言中的预处理基本知识
C语言——预处理基本知识
你用过宏##粘贴函数,然后用函数指针查找执行吗?今天就给你说道说道
C语言编程之程序猿的自我修养,如何提高自身学习效率!
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券