code::blocks 是否保留除 C++ 关键字之外的名称?

2024-01-31

我是 code::blocks 的新手,而且在 C++ 方面也没有经验。我知道有很多关键字,我不应该将它们用于变量名称,并且它们通常以不同的颜色显示,就像在 Visualstudio 中一样。现在,当我将一些代码片段从旧的 vs 项目复制到新的 code::blocks 项目时,我的一些变量名称突然变成了彩色。例如,在此代码中,变量 begin 和 end 现在显示为绿色,我不明白为什么。

int begin = 0;
int end = 4;
int myarray[end];
for (int i = begin; i < end; i++)
{
    myarray[i] = i;
}

在某些情况下,此代码甚至无法编译,并且我会收到奇怪的“冲突声明”错误。我是否可以使用这些名称,或者它们是否以某种方式保留在 code::blocks 中?我查了一些书,但据我所知,它们不是c++关键字。原因是我现在使用c++11吗?我使用的是 ide 的 v.12.11 和它附带的 mingw 编译器。感谢您的帮助。


我从你的困惑中得知,你还没有使用过 STL 容器……但是,如果你是 C++ 新手,那可能是个好主意。反正,begin and end任何 C++ 标准中都没有关键字,C++11 中也没有。但它们都是函数的名称,返回一个迭代器对象,用于遍历 STL 容器,如下所示:

vector<int> x = { 1, 2, 3, 4 };
vector<int>::iterator it;

for (it = x.begin(); it != x.end(); ++it)
{
    cout << *it << endl;
}

在 C++ 日常实践中,这个概念非常常用,以至于这些名称被 CodeBlocks 列为“用户关键字”。用户关键字通常为绿色,因此可与语言关键字区分开。如果这让您感到困扰,您可以自由地操作该列表,甚至完全删除它。只需从菜单栏中选择“设置”-->“编辑器”,然后单击“语法突出显示”选项卡。在那里您可以进行所有您喜欢的设置。获取manual http://www.codeblocks.org/user-manual了解更多信息。

图片http://imageshack.us/a/img189/3956/m1qe.png http://imageshack.us/a/img189/3956/m1qe.png

无论是否有语法突出显示,您都不应该出现编译错误。原因可能是,您的项目包含标准库标头,例如#include <vector>并且您的代码包含using namespace std;某处。您可能使用预编译头 - 在这种情况下也要检查它。

另外我建议你看看标准库容器 http://en.cppreference.com/w/cpp/container并尝试一下。与普通数组相比,它们有几个优点,但您最好自己去发现。但是,不要让自己被这些迭代器吓倒 - 在 C++11 中你也可以编写

vector<string> y = { "Foo", "Bar" };
for (auto& str : y) cout << str << endl;

相反,这也适用于您的数组

float z[] = { 0.5f, 1.5f, 2.5f, 3.5f };
for (auto& num : z) cout << num << endl;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

code::blocks 是否保留除 C++ 关键字之外的名称? 的相关文章

  • MEX 文件中的断言导致 Matlab 崩溃

    我正在使用mxAssert 宏定义为matrix h在我的 C 代码中 mex 可以完美编译 当我调用的 mex 代码中违反断言时 该断言不会导致我的程序崩溃 而是导致 Matlab 本身崩溃 我错过了什么吗 这是有意的行为吗 当我查看 M
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • Xamarin Android:获取内存中的所有进程

    有没有办法读取所有进程 而不仅仅是正在运行的进程 如果我对 Android 的理解正确的话 一次只有一个进程在运行 其他所有进程都被冻结 后台进程被忽略 您可以使用以下代码片段获取当前正在运行的所有 Android 应用程序进程 Activ
  • 单元测试失败,异常代码为 c0000005

    我正在尝试使用本机单元测试项目在 Visual Studios 2012 中创建单元测试 这是我的测试 TEST METHOD CalculationsRoundTests int result Calculations Round 1 0
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • std::bind 重载解析

    下面的代码工作正常 include
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 运行代码首先迁移更新数据库时出错

    我在迁移到数据库时遇到问题 并且似乎找不到我遇到的错误的答案 System MissingMethodException Method not found System Data Entity Migrations Builders Tab
  • boost::program_options:带有固定和可变标记的参数?

    是否可以在 boost program options 中使用此类参数 program p1 123 p2 234 p3 345 p12 678 即 是否可以使用第一个标记指定参数名称 例如 p 后跟一个数字 是动态的吗 我想避免这种情况
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS
  • WPF/数据集:如何通过 XAML 将相关表中的数据绑定到数据网格列中?

    我正在使用 WPF DataSet 连接到 SQL Server Express XAML 和 C Visual Studio 2013 Express 我从名为 BankNoteBook 的现有 SQL Server Express 数据

随机推荐

  • ASP.NET CodeFileBaseClass 属性与从 System.Web.UI.Page 继承

    我刚刚通过继承为我的页面创建了一个基类System Web UI Page public abstract class PageBase System Web UI Page 当我注意到您还可以在 ASP NET 视图中声明基页时 有人可以
  • 使用GL着色器语言的相机帧yuv到rgb转换

    我从字节数组中的 android 相机预览回调获取相机帧并将其传递给 jni 代码 由于我们不能在 C 中使用字节 因此我将其转换为整数数组 如下所示 JNIEXPORT void JNICALL Java com omobio armad
  • 将现有记录详细信息发送到新记录以节省时间 - “我也做了这个锻炼”

    我创建了一个 Ruby on Rails 应用程序 用户可以在其中记录和分享他们的锻炼情况 我想知道如何允许用户 克隆 锻炼 可以节省复制和粘贴或自己输入锻炼所需的时间 我的想法是 当当前用户看到他们也做过的锻炼 即 100 个俯卧撑 10
  • Mercurial Hg-Git:从本地目录克隆?

    我的计算机上有一个本地 Git 存储库 我正在尝试使用它进行克隆Hg Git http hg git github com 当我从一个克隆时 它对我来说效果很好git 键入路径 但如果我尝试从本地目录克隆 则不会 这是一个例子 hg clo
  • 未找到 ID 为“com.google.gms.google-services”的插件

    我已经关注了这个link https firebase google com docs admob android quick start将广告集成到我的应用程序中 但它显示了这个错误 这是我的 build gradle apply plu
  • Flask-sqlalchemy 从数据库视图给出空结果

    我有型号 from flask ext sqlalchemy import SQLAlchemy db SQLAlchemy class Graph db Model tablename graph view group Column Un
  • 引导顺序不正确

    好的 我有一个 GUIDf5cc4100 f1b4 4af6 9e9e 224b0eb74166我使用 ADO NET 连接器将其插入 MySQL 数据库 我可以通过两种方式做到这一点 1 将字节数组馈送到 NET Connector st
  • 如果在finalize()期间抛出异常会发生什么

    如果finalize 执行过程中抛出异常会发生什么 堆栈展开是否像平常一样 它会继续finalize 并忽略异常吗 它会停止 Finalize 并继续 GC 对象吗 或者是其他东西 我不是在寻找使用 Finalize 的指南 有很多页面对此
  • 可以比较 mongodb 中的日期字符串吗?

    我有一个包含具有日期属性的文档的集合 如下所示 title whatever created ISODate 2013 05 27T03 36 50Z 我想选择在某一天创建的记录 我希望我能用toDateString 并比较这些值 但是当我
  • 通过拆分将 pandas DataFrame 从宽变为长

    我正在尝试将以下数据从宽格式重塑为长格式 df pd DataFrame size Ent pd Timestamp 2021 01 01 00 00 00 600 pd Timestamp 2021 01 02 00 00 00 930
  • STS Spring 与 Roo 和 Maven - 太慢?

    我有一段时间使用 STS 和 Java 来开发 Web 应用程序 该项目配置为使用 Maven Roo 和 MySQL 作为数据库 我经常发现我在以下情况中浪费了很多时间 没有Roo回应 当我修改域对象 Java 类时 即使项目的 Roo
  • 机器学习、人工智能和软计算

    这三个密切相关的领域有什么区别 是否存在一个特定的整体 它们都是其中的一部分 除了 CS 人工智能是试图在计算机中捕获人类智能的各个方面的智力项目 另一个项目也称为人工智能 旨在使用受人类启发的算法来解决传统上棘手的问题 人工智能可以说涵盖
  • 如何用python实现Leaky Relu的导数?

    在不使用 Tensorflow 的情况下 如何在 Python 中实现 Leaky ReLU 的导数 还有比这更好的方法吗 我希望该函数返回一个 numpy 数组 def dlrelu x alpha 01 return alpha if
  • 为什么我必须在左移之前将 `uint8_t` 转换为 `uint64_t` ?

    我只想将 uint8 t 数组连接到 uint64 t 事实上 我解决了我的问题 但需要了解原因 这是我的代码 uint8 t byte array 5 byte array 0 0x41 byte array 1 0x42 byte ar
  • 在 Scala 中导入 avro 模式

    我正在编写一个简单的 Twitter 程序 我正在使用 Kafka 阅读推文 并希望使用 Avro 进行序列化 到目前为止 我刚刚在 Scala 中设置了 twitter 配置 现在想使用此配置来阅读推文 如何导入程序中文件 tweets
  • 将 SSIS 连接到 PostgreSQL 时出现问题(通过 OLEDB)

    我正在开发一个项目 我必须为数据迁移创建 SSIS 包 我使用 PostgreSQL 进行数据库连接 最初 我使用 ODBC 驱动程序将 SSIS 项目连接到 PostgreSQL 后来 我发现 ODBC 不支持在发生任何故障时回滚以前的事
  • 为什么ProgressDialog的背景没有设置为透明?

    我想将背景设置为透明 所以我在中设置了以下代码 styles xml
  • 避免“缓冲区溢出”C6386 警告

    在我的代码中 我使用数组xyz共 10 个对象 当我尝试使用 unsigned int 索引访问数组的元素时 如下所示 xyz level I get 缓冲区溢出 http msdn microsoft com en us library
  • 将所有函数折叠到 R-Studio 脚本中

    基本上我已经在一个 R 脚本中编写了相当多的函数 为了创建更好的概述并且不必滚动太多 我通常按函数定义左侧的箭头 将其折叠 对于 30 多个函数来说 这可能非常烦人 因为当我运行它们时 它们会不断 展开 我所说的折叠的意思可以在这张照片中看
  • code::blocks 是否保留除 C++ 关键字之外的名称?

    我是 code blocks 的新手 而且在 C 方面也没有经验 我知道有很多关键字 我不应该将它们用于变量名称 并且它们通常以不同的颜色显示 就像在 Visualstudio 中一样 现在 当我将一些代码片段从旧的 vs 项目复制到新的