PHP isset() 在 C/C++ 中的对应部分

2023-11-26

PHP 有一个非常好的函数,isset($variableName)。它检查 $variableName 是否已在程序中定义。

我们可以为 C/C++ 构建类似的功能(某种符号表查找)吗?


我是一名 C++ 人员,但我记得在 PHP 中 isset 用于检查变量在通过 get/post 请求传入时是否包含值(我确信还有其他用途,但我相信这是常见的用途) 。

C++ 中并没有真正的动态类型。因此,您不能突然使用之前未明确定义的变量名。 C++ 中确实不存在“未设置”变量这样的东西。

即使你说“int var;”并且不初始化它,该变量有一个值,通常是垃圾值,但在 PHP 意义上它仍然是“设置”的。

我认为关闭是预处理器的#ifdef 和#ifndef,它们仅检查您是否使用#define 定义了变量。但根据我的经验,这主要用于根据标志省略或添加代码。例如:

// code code code
#ifdef DEBUG
// debug only code that will not be included in final product.
#endif
// more code more code

您可以使用#define 定义DEBUG 以确定现在是否包含“DEBUG”代码。

也许更多地讲述您尝试使用 isset 的 C++ 等价物做什么会让您更好地了解如何以“C++ 方式”进行操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP isset() 在 C/C++ 中的对应部分 的相关文章

  • 将类对象放置在向量中?

    我注意到我可以将一个类放置在一个向量中 这是我的程序 我收到以下错误 out blackjack exe blackjack obj blackjack obj error LNK2019 unresolved external symbo
  • 前向声明类型和“已声明为类类型的非类类型”

    我对以下代码有问题 template
  • 强制初始化模板类的静态数据成员

    关于模板类的静态数据成员未初始化存在一些问题 不幸的是 这些都没有能够帮助我解决我的具体问题的答案 我有一个模板类 它有一个静态数据成员 必须为特定类型显式实例化 即必须专门化 如果不是这种情况 使用不同的模板函数应该会导致链接器错误 这是
  • 即使没有异步,CallContext.LogicalGetData 也会恢复。为什么?

    我注意到CallContext LogicalSetData LogicalGetData不按照我期望的方式工作 内部设置的值async方法得到恢复即使没有异步或任何类型的线程切换 无论如何 这是一个简单的例子 using System u
  • 如何使用 Regex.Replace 从字符串中删除数字?

    我需要使用Regex Replace从字符串中删除所有数字和符号 输入示例 123 abcd33输出示例 abcd 请尝试以下操作 var output Regex Replace input d string Empty The d标识符
  • 不同 C++ 文件中的相同类名

    如果两个 C 文件具有相同名称的类的不同定义 那么当它们被编译和链接时 即使没有警告也会抛出一些东西 例如 a cc class Student public std string foo return A void foo a Stude
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • memcpy/memmove 到联合成员,这是否设置“活动”成员?

    重要说明 一些评论者似乎认为我是从工会抄袭的 仔细看memcpy 它从普通旧地址复制uint32 t 它不包含在联合中 另外 我正在复制 通过memcpy 到工会的特定成员 u a16 or u x in a union 不直接到整个联盟本
  • 如何最好地以编程方式将 `__attribute__ ((unused))` 应用于这些自动生成的对象?

    In my makefile我有以下目标 它将文本 HTML 资源 编译 为unsigned char数组使用xxd i http linuxcommand org man pages xxd1 html 我将结果包装在匿名命名空间和标头保
  • 模板类中的无效数据类型生成编译时错误?

    我正在使用 C 创建一个字符串类 我希望该类仅接受数据类型 char 和 wchar t 并且我希望编译器在编译时使用 error 捕获任何无效数据类型 我不喜欢使用assert 我怎样才能做到这一点 您可以使用静态断言 促进提供一个 ht
  • 使动态创建的链接标签在 Winforms 中可点击

    我正在制作一个程序 允许用户单击由动态链接标签创建的公司名称 在我想知道如何做到这一点之前 我从未在 C 中使用过链接标签 可为特定用户生成的业务数量各不相同 因此每个用户的链接标签数量并不相同 然后我想捕获业务 ID 以进行 Json 调
  • C++:为什么 numeric_limits 对它不知道的类型起作用?

    我创建了自己的类型 没有任何比较器 也没有专门化std numeric limits 尽管如此 由于某种原因 std numeric limits
  • 代码中的.net Access Forms身份验证“超时”值

    我正在向我的应用程序添加注销过期警报 并希望从我的代码访问我的 web config 表单身份验证 超时 值 我有什么办法可以做到这一点吗 我认为您可以从 FormsAuthentication 静态类方法中读取它 这比直接读取 web c
  • 了解 Lambda 表达式和委托 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经尝试解决这个问题很长一段时间了 阅读在线博客和文章 但到目前为止还没有成功 什么是代表 什么是 Lambda 表达式 两者的优点
  • 在 Win32 控制台应用程序中设置光标位置

    如何在 Win32 控制台应用程序中设置光标位置 最好 我想避免制作句柄并使用 Windows 控制台功能 我花了整个早上沿着那条黑暗的小巷跑 它产生的问题比它解决的问题还要多 我似乎记得当我在大学时使用 stdio 做这件事相对简单 但我
  • 没有“对 *this”功能的右值引用的解决方法

    我有一个围绕可移动对象的代理容器类 并希望代理能够隐式生成对底层对象的右值引用 但仅当代理本身被移动时 我相信我将能够按照提案 n2439 实施此行为 将移动语义扩展到 this http www open std org jtc1 sc2
  • 为什么空循环使用如此多的处理器时间?

    如果我的代码中有一个空的 while 循环 例如 while true 它将把处理器的使用率提高到大约 25 但是 如果我执行以下操作 while true Sleep 1 它只会使用大约1 那么这是为什么呢 更新 感谢所有精彩的回复 但我
  • 是否允许全局静态标识符以单个 _ 开头?

    换句话说 可能static 文件范围 全局变量恰好以一个下划线开头 而不会产生与 C 实现发生名称冲突的可能性 https www gnu org software libc manual html node Reserved Names
  • 我可以使用 lambda 函数或 std::function 对象来代替函数指针吗?

    我有一个需要使用的库 它定义了以下内容 typedef void CallbackFunction const int i 并且有一个注册回调的函数 如下所示 void registerCallback CallbackFunction p
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • WinDbg 地址摘要

    随着用户负载的增加 我们在 IIS 中托管的 WCF 服务崩溃 w3wp exe 1 6 GB 我们通过 Debug Diag 获得了转储并在 WinDbg 中运行了此命令 这是输出 0 000 gt address summary Fai
  • Symfony 2.8 -> 3.4 升级 IsGranted('IS_AUTHENTICATED_ANONYMOUSLY') 抛出错误

    我正在将 Symfony 从 2 8 升级到 3 4 并且我有一个身份验证侦听器 监听器的构造函数 public function construct EntityManager entityManager SessionInterface
  • 如何更改工具栏上的更改文本和箭头颜色?

    我目前正在使用新的材料设计指南构建一个应用程序 我使用的是工具栏而不是操作栏 我希望文本 溢出图标和箭头 汉堡图标 当您拉出导航绘图时翻转的东西 为白色而不是黑色 但我的主题的其余部分需要是 AppCompat light 主题 如果有人可
  • 让 ApiController 与区域一起工作?

    目前 我的 ASP NET MVC 5 项目中有 2 个区域 一种叫做支持者 一个称为Chatter 在这两个区域中的每一个区域中 都有一个ApiController named CommunicationController 这会带来一个
  • 读取时如何忽略 CSV 中的空行

    尝试使用以下命令读取具有空行 通常在末尾 的 CSV 文件CsvHelper GetRecords
  • 来自 requests Python 库的 HTTP 请求中缺少 Host 标头

    哪儿是HTTP 1 1 强制 Host 标头字段在HTTP请求消息中生成requestsPython 库 import requests response requests get https www google com print re
  • Gradle build.gradle 到 Maven pom.xml

    我有一个 Gradle 项目 我需要将其所有依赖项转移并与另一个 Maven 项目一起使用 换句话说 我如何从 build gradle 生成 或者可以生成 pom xml 从 Gradle 7 开始 当使用Gradle 的 Maven P
  • 使用 z3 获得“良好”的 unsat 核心(逻辑 QF_BV)

    我正在使用 Z3 SMT 求解器来解决我使用 SMTLIB 2 语言在逻辑 QF BV 中表达的问题 该模型是不可满足的 我正在尝试让求解器产生一个不满足的核心 我的模型由几个 强制 约束组成 我使用assert声明 我希望考虑用于 uns
  • Java 15 的密封类功能中的最终类和非密封类有什么区别?

    我有以下密封接口 Java 15 public sealed interface Animal permits Cat Duck String makeSound 该接口由2个类实现 public final class Cat imple
  • iPad 上的 jQuery 鼠标悬停

    我有一个 jQuery 代码 可以在桌面浏览器上完美运行 span checkbox err mouseout function span checkbox err fadeOut slow 但同样的情况不会在 iPad 上触发 因此 ch
  • 您首选的 php 部署策略是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在开始一个 PHP 的
  • @property(非原子,retain)语句在应用程序中的用途是什么?

    我是一名初学者 iphone 开发人员 我想知道 property nonatomic retain 语句的用途是什么 例如 任何人都可以给我任何答案吗 财产告诉 Objective C 为该成员变量生成 getter 和 setter 合
  • 无限循环滑块概念

    我想知道使用 JavaScript jQuery 为网站构建无限图像循环滑块的最佳概念是什么 良好的可读代码 害虫实践代码 可重用性 我不知道如何编码幻灯片放映 但什么蓝图符合上述要求 我的问题的主要焦点是如何排列图片以获得无限循环滑块的印
  • onActivityResult() 在新的嵌套片段 API 中未调用

    我一直在用新的嵌套片段Android 包含在支持库中的 API 我面对嵌套片段的问题是 如果一个嵌套片段 即 通过FragmentManager由返回getChildFragmentManager calls startActivityFo
  • 如何在 Android 中使用 Java 和 org.json 迭代这个 JSON 数组?

    我的 JSON 字符串看起来像这样 包含在名为的字符串变量中 sJSON id 284 name John surname Doe name Jane surname Doe 我能够像这样解析第一个数组 使用 Java 并导入 org js
  • Magento - 如何检索捆绑的选项图像

    我一直在致力于我的第一个 magento 部署 建立了一个非常定制的主题 现在解决一些非标准定制 我的主要产品类型之一是办公椅 我将其设置为捆绑产品 此产品类型有许多选项 大约 100 种面料选项 手臂样式 腰部 头枕等 我需要能够在目录
  • 为什么我不能在 `const filter_view` 上调用 `ranges::begin` ? [复制]

    这个问题在这里已经有答案了 我无法打电话ranges begin on a const filter view https en cppreference com w cpp ranges filter view the begin and
  • Gradle 将 Spring Boot 应用程序构建为具有活动配置文件的战争

    我想将我的 Spring Boot 应用程序打包为war对于特定的配置文件 这可以通过设置 spring profiles active 来完成个人资料名称在 application properties 文件中 是否可以在构建战争时将其设
  • jQuery Mobile 面板宽度

    在新的 jQuery mobile 中 有一个新的面板选项 我已经实现了这个并且它有效 但我想自定义面板的宽度 标准宽度是272px 对于我的使用来说有点多了 我尝试过使用 ui panel width 150px CSS 选择器 但这只是
  • PHP isset() 在 C/C++ 中的对应部分

    PHP 有一个非常好的函数 isset variableName 它检查 variableName 是否已在程序中定义 我们可以为 C C 构建类似的功能 某种符号表查找 吗 我是一名 C 人员 但我记得在 PHP 中 isset 用于检查