声明一个块代码的引用
块代码变量用来保存到块代码的引用。使用和声明函数指针相识的语法声明块代码变量,只是把其中的*换成占位符^。块代码类型基本上都是C语言的格式。下面就是一些有效的块代码变量声明:
void (^blockReturningVoidWithVoidArgument)(void);
|
int (^blockReturningIntWithIntAndCharArguments)(int, char);
|
void (^arrayOfTenBlocksReturningVoidWithIntArgument[10])(int);
|
块代码同样支持可变参数列表。没有参数的块代码必须在参数列表中使用void。
块代码在传入参数,返回值等方面使用元数据验证,在设计上达到数据安全的目的。你可以把一个块代码的引用转换成一个任何类型的指针,反之亦然。但是你不能通过一个指针引用来对一个块代码引用进行解引用--因为在编译时期不能计算块代码所占大小。
你可以创建块代码的类型--只是你在多个地方创建同一种类型的块代码的最好的方式:
typedef float (^MyBlockType)(float, float);
|
|
MyBlockType myFirstBlock = // ... ;
|
MyBlockType mySecondBlock = // ... ;
|
创建块代码
使用^标示一个块代码的开始。可能后面跟着使用一对小括号括起来的参数列表。块代码的代码部分是在一对大括号里面。下面是一个块代码定义的示例,并把这个块代码赋值给一个前面声明的块代码变量--和C语言一样,块代码使用一个分号;作为定义的结束:
int (^oneFrom)(int);
|
|
oneFrom = ^(int anInt) {
|
return anInt - 1;
|
};
|
如果你在块代码定义中没有标示返回值类型,返回值类型会被通过块代码的内容推断出来,如果这个返回值是推断出来的,并且参数列表是void,你可以省略这个void。如果多个return语句出现,他们必须返回完全相同类型的值(合适的时候必须使用转换)。
全局块代码
在文件作用域内,你可以定义一个块代码具有全局可用的:
#import <stdio.h>
|
|
int GlobalInt = 0;
|
int (^getGlobalInt)(void) = ^{ return GlobalInt; };
|
分享到:
相关推荐
【标题】"商业编程-源码-对话框源代码 xconstraintproject.zip" 指的是一份包含商业编程环境中用于创建和管理对话框的源代码集合。这份源代码可能是一个项目或库,专注于对话框的设计与实现,尤其关注于...
这个"Excel-VBA宏编程实例源代码-创建文件夹.zip"压缩包包含了一个名为"创建文件夹.xlsm"的文件,这是一个VBA工程文件,内含用于创建新文件夹的宏代码。以下将详细介绍如何使用VBA来创建文件夹,并扩展相关的Excel ...
- **继承与多态**:继承允许创建子类,多态则提供了接口的一致性和代码重用。 - **模板**:泛型编程工具,可以编写不依赖具体类型的函数或类。 - **异常处理**:通过try-catch语句块处理运行时错误,提供更健壮的...
- **位置**:变量和类型的声明位置应靠近其使用位置,以降低代码理解和维护难度。 #### 第五章:命名规范 - **命名概述**:强调命名应直观反映对象的功能和用途,避免使用缩写和模糊的词汇。 - **大小写规则**:...
商业编程通常要求代码具有高效性、可扩展性和良好的用户体验,因此这个源码可能展示了如何在实际商业环境中创建和使用自定义对话框。 在【压缩包子文件的文件名称列表】中,“对话框源代码 CustomDialog_demo”可能...
【描述】"商业编程-源码-其它源代码 NTService_AppWizard_rehan_src.zip" 描述了这是一份与商业应用开发相关的源代码,可能用于帮助开发者快速创建和管理Windows NT服务。"其它源代码"可能意味着除了 NTService_...
这个压缩包"Excel-VBA宏编程实例源代码-图表的处理-创建员工工资阶梯图.zip"提供了创建员工工资阶梯图的VBA代码示例,非常适合学习如何利用VBA进行复杂的数据可视化。 1. **VBA基础概念** - VBA是基于Visual Basic...
- “源代码”标签表明了本文档包含实际的编程代码,可用于参考和学习。 ### 五、注意事项 - 在实际应用中,创建数据库和表时需要考虑数据安全性、性能优化等因素。 - 代码示例中的路径、字段名称等应根据实际情况...
面向对象编程(OOP)的核心思想是封装、继承和多态,它提高了代码的重用性和模块化,简化了软件开发和维护。 在提供的示例代码中,我们看到了一个简单的C++类`student`的声明和实现。类是OOP的基础,它定义了一组...
Java代码编程规范是确保代码可读性、可维护性和团队协作效率的重要指导原则。遵循一套良好的编程规范,可以使代码更加整洁、易于理解,减少出错的可能性,并提高代码质量。以下是一些关键的Java编程规范: 1. **...
在PL/SQL中,"块"(Block)是其基本结构单位,由声明部分、执行部分和异常处理部分组成。声明部分用于声明变量、游标、常量等;执行部分包含一系列的SQL和PL/SQL语句,这些语句可以一起执行,形成一个逻辑单元;异常...
4. **程序模块创建与初始化**:创建名为xieduoMAIN的程序模块,用于组织和管理代码。在INI行上方声明变量count,这一步是初始化变量,使其在程序开始前就存在并可被引用。 5. **删除默认PTP HOME行**:因为子程序中...
《C#经典编程-220例》是一本深度挖掘C#编程精髓的教程,它包含了大量的实例,旨在帮助读者全面掌握C#编程语言的核心概念和技术。这220个例子覆盖了C#编程的各个层面,从基础语法到高级特性,从控制流到面向对象编程...
1. 条件语句:IF-THEN-ELSIF-ELSE 和 CASE 语句用于根据条件执行不同代码块。 2. 循环语句:WHILE、FOR、LOOP和EXIT语句帮助我们实现重复执行某段代码。 3. GOTO语句虽然不推荐使用,但在某些特定场景下,可以提供无...
《C#范例开发大全源代码--刘丽霞版》是一部深入浅出的C#编程实践教程,由知名IT教育专家刘丽霞编著。该资料集包含了丰富的C#编程实例,旨在帮助开发者掌握C#语言的核心概念、特性和应用技巧。通过这份源代码,学习者...
《Java编程基础》是计算机科学领域的一门重要课程,由曹静老师编写的源代码旨在帮助初学者理解和掌握Java编程语言的基本概念、语法结构以及实际应用。这份资料包含的源代码是学习Java编程的宝贵资源,可以加深对理论...
本压缩包“Excel-VBA宏编程实例源代码-在调用方式下执行代码.zip”包含了一个名为“在调用方式下执行代码.xlsm”的文件,该文件展示了如何在不同的调用方式下执行VBA代码。 1. **VBA基础知识** - **变量与数据类型...
3. **函数**:C语言中的函数是一组完成特定任务的代码块,通过定义和调用函数,可以实现代码的复用和模块化。 4. **数组**:数组是存储同类型元素集合的数据结构,学习如何声明、初始化和操作数组,是处理大量数据...
这份"西门子S7-1200 和 S7-1500 的编程指南和编程风格指南scl 块模板"将帮助用户深入理解如何有效地利用SCL进行编程。 SCL编程的关键知识点: 1. **基本语法**:SCL使用类似于C或PASCAL的结构化语句,如IF-THEN-...
总之,"Excel-VBA宏编程实例源代码-自定义函数-查找合并单元格的位置.zip"提供了一个实用的学习案例,帮助用户掌握在VBA中查找和处理合并单元格的技能。通过对源代码的分析和实践,你可以进一步提升自己的Excel VBA...