-
#include<iostream>
-
usingnamespacestd;
-
intprint(){
-
cout<<"YYYYYYYYY\n";
- }
-
classtt{
-
public:
-
staticint(*pp)();
-
staticint*p;
-
intv(){
-
this->pp();
- }
-
staticintvv(){
-
- }
- };
-
int(*tt::pp)()=print;
-
int*tt::p=NULL;
-
intmain(){
- tta;
- a.pp();
- (*tt::pp)();
-
cout<<sizeof(tt)<<endl;
- }
-
#include<iostream>
-
usingnamespacestd;
-
voidprint(){
-
cout<<"asdf\n";
- }
-
classtt{
-
public:
-
void(*p)();
- tt(){
- p=&(::print);
- }
-
inta(){
-
cout<<"aaaaafunction!\n";
- }
- };
-
typedefint(tt::*MM)();
-
intmain(){
-
cout<<sizeof(tt)<<endl;
- tta;
- a.p();
- cout<<&tt::a<<endl;
-
- MMmyf=&tt::a;
-
(a.*myf)();
- }
-
#include<iostream>
-
usingnamespacestd;
-
classtt{
-
public:
-
staticinta;
- };
-
inttt::a=10;
-
intmain(){
-
cout<<sizeof(tt)<<endl;
-
- cout<<tt::a<<endl;
- }
-
#include<iostream>
-
usingnamespacestd;
-
classtt{
-
public:
-
doublea;
-
charb;
-
virtualint_a(){}
-
virtualint_b(){}
- };
-
intmain(){
-
cout<<sizeof(tt)<<endl;
-
-
- }
-
#include<iostream>
-
usingnamespacestd;
-
classT{
-
public:
-
charaa;
-
doublei;
-
virtualinta(){}
- };
-
intmain(){
-
-
-
-
T*a=newT;
-
cout<<(int)&(a->aa)<<endl;
-
cout<<(int)a<<endl;
-
-
cout<<sizeof(T)<<endl;
-
deletea;
- }
其实,一些很变态的使用操作都在上面了,这里仅仅是一些很少用到的东西,注意拉!
分享到:
相关推荐
在C/C++编程语言中,`函数指针`、`extern`、`typedef`、`const`和`static`是五个非常重要的关键字,它们各自有着独特的功能和用途。本篇文章将详细阐述这些概念及其基本用法。 首先,我们来看`函数指针`。函数指针...
### 指针函数 #### 1. 概念与定义 ...总结而言,指针函数和函数指针是C语言中非常重要的概念,它们提供了强大的工具来管理内存和控制程序的执行流程。掌握这些概念对于深入理解和应用C语言至关重要。
### 指针函数与函数指针:深入解析与应用 ...通过上述解析,我们可以看到,指针函数和函数指针,以及指针的指针,虽然概念上各有侧重,但在C语言编程中均扮演着关键角色,对于高效、灵活的数据处理和函数调用至关重要。
**二、static函数** 1. **静态内部函数(静态成员函数)**: 在C++中,函数也可以被声明为`static`,这通常发生在类的上下文中。静态成员函数没有`this`指针,不能访问类的非静态成员变量,但可以直接访问静态成员...
在C语言中,函数指针和指针函数是高级特性,它们在编程中扮演着重要角色,尤其是在处理回调函数、动态调度以及实现元编程等方面。本训练将深入讲解这两个概念,帮助你掌握其核心概念和实际应用。 首先,我们要了解...
在C++编程语言中,获取类的成员函数的函数指针是一项重要的技术,它允许我们动态地调用对象的成员函数。下面将详细介绍这一概念,并通过实例代码进行解析。 首先,我们需要理解成员函数指针的概念。成员函数是类的...
本文将基于“Java和C++比较--虚函数和指针”的主题,深入探讨两种语言在虚函数机制与指针使用上的差异,以及这些差异如何影响程序设计和性能。 ### 虚函数机制 #### C++中的虚函数 在C++中,虚函数是实现多态性的...
函数指针可以极大地提高代码的可重用性和模块化程度,特别是在处理回调函数时更为明显。 #### 二、函数指针的基础 ##### 2.1 什么是函数指针? 函数指针是指向函数的指针。在C/C++中,函数也是一种数据类型,因此...
总结来说,C#调用C++DLL并处理指针参数涉及到P/Invoke、函数原型声明、指针类型映射、内存管理和异常处理等多个环节。理解这些细节是成功进行跨语言互操作的关键。在实际开发中,务必确保所有操作都遵循安全规范,以...
在这个例子中,尽管`ip`被强制转换为`Baizhantang`类的成员函数指针,但因为`speak`是非虚函数,实际调用的仍然是`Person`的`speak`函数。 总结来说,C++中的指向类成员函数的指针提供了灵活的编程能力,允许在运行...
如命名空间(namespace)、类成员(Class members)、成员函数(Member Functions)、静态成员函数(Static Member Functions)、联合(Unions)、位字段(C++ Bit Fields)、嵌套类声明(Nested Class Declarations...
这在很多情况下是不方便的,尤其是在需要将函数作为回调注册到其他库或框架的情况下,这些库或框架通常希望提供一个简单的、不需要额外参数的函数指针。 #### 解决方案1: 使用单例模式 一种解决方案是在类内部定义...
本实例主要探讨了三种类型的成员函数:普通成员函数、类成员函数和类静态成员函数。以下是对这三种函数类型的详细解释: 1. 普通成员函数(Non-static Member Functions): 普通成员函数是类的一部分,它们可以...
在C语言中,`static`、`extern`和指针函数是三个重要的概念,它们各自有着特定的作用和用途。 首先,我们来看`static`关键字。`static`用于修饰变量和函数,它可以改变变量的作用域和生命周期,以及函数的可见性。 ...
本课件主要探讨了如何使用指针来操作和调用函数,包括指向函数的指针变量的定义、用指针调用函数以及将函数指针作为函数参数。 首先,指向函数的指针变量是一种特殊的指针,它存储的是函数的入口地址,而不是普通的...
这里我们有两个主要的知识点:指针型函数和字符串处理。 1. 指针型函数: 指针型函数是指函数的返回类型为指针,即函数执行完后会返回一个地址。在C语言中,我们可以将函数的返回值设为指针类型,这样可以使得函数...
- **函数指针**:可以定义一个指针变量来存储函数的地址,这样的指针被称为函数指针。 ```cpp void fun() { printf("Hello World!\n"); } void (*pf)(); // 函数指针声明 pf = fun; // 将fun函数的地址赋值...
存储类主要有四种:自动(auto)、静态(static)、外部(extern)和寄存器(register)。自动变量在函数内部定义,只在该函数调用时存在;静态变量在整个程序执行期间都存在,作用域限于定义它的块;外部变量在程序...
由于静态成员函数没有this指针,它们相当于非成员函数指针。这样的特性使得静态成员函数成为一个可作为回调函数(callback function)使用的候选者,这在处理与C-based X Window系统相关的事件处理函数时尤其有用。...