我就经常这样。。。。。

这篇博客通过几个幽默的小故事,展示了作者在日常生活中的忘事经历,从开衣柜找东西到走进厕所才想起本来是要吃饼干,再到记住了别人的名字和电话却忘了对方叫什么,这些片段让人忍俊不禁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    

  我就经常这样。。。。。

---------

     拿着钥匙一路走到衣柜,随着喀哒一声,锁开了,我对着一堆衣服和乱七八糟的书堆,我就努力的想:开衣柜干吗来着?

---------

     买了一包饼干,是葱味的苏打饼,一边吃一边和哥们聊天,等走到厕所,才发现:本来是要做到电脑桌前吃的。

--------

     洗完碗筷,仔细瞅筷子,努力的想,当初老板跟我说这是铁树做的,坚固耐用,等到了床边才发现:它们是不需要睡觉的。

--------

     以前在IT俱乐部瞎混,开了几个salon后,认识了一些朋友,大家互相留电话。

     # 你的是?

     #1355896358,我叫XXX。

     # 哦,好的,我记了。

     # 那有什么活动跟我支一声,我先走了。

     # 好的,那怎么称呼你呢?。。。。

-------

    马上就要上课了。冲到啊贵那看了一眼:软件工程  在3-305上。

    突感小腹不适,急忙小厕一个,回来拿《软件工程》,问啊贵:哎,对了,今天软件工程在那上啊?

-------

  我就经常这样。。。。。

    

### 关于C++静态成员函数的访问方式及其与指针、对象的关系 #### 静态成员函数的访问方式 静态成员函数属于类而非具体的对象,因此可以通过类名直接调用,而无需创建该类的对象。这种调用方法通过作用域解析运算符`::`实现[^4]。例如: ```cpp class MyClass { public: static void StaticFunction() { std::cout << "This is a static function." << std::endl; } }; MyClass::StaticFunction(); // 使用类名调用静态成员函数 ``` 需要注意的是,由于静态成员函数不依赖任何特定对象,其内部不存在隐式的`this`指针[^3]。 --- #### 静态成员函数与非静态成员函数的交互 尽管静态成员函数无法直接访问非静态成员变量或调用非静态成员函数(因为它们需要绑定到具体对象上),但可以通过显式传递对象指针或引用的方式间接完成这一目标[^1]。下面是一个例子展示如何利用这种方式实现两者的协作: ```cpp #include <iostream> using namespace std; class Example { private: int value; // 非静态成员变量 public: Example(int v) : value(v) {} void NonStaticMethod() const { cout << "Non-static method called, Value: " << value << endl; } static void CallNonStaticViaPointer(Example* objPtr) { if (objPtr != nullptr){ objPtr->NonStaticMethod(); }else{ cout<<"Object pointer is null!"<<endl; } } }; int main(){ Example ex(42); // 调用静态成员函数并传入对象指针 Example::CallNonStaticViaPointer(&ex); return 0; } ``` 上述代码片段展示了通过向静态成员函数传递指向实例化对象的指针来调用非静态成员函数的过程。 --- #### 静态成员函数中的 this 指针缺失 正如前面提到过的那样,在静态成员函数体内是没有 `this` 指针存在的,这意味着它不能自动关联至某个特定的对象实例之上。如果尝试这样做,则会引发编译错误。然而,这并不妨碍我们手动将对象作为参数引入从而达到相同的效果。 --- #### 单例模式下的应用案例 在某些设计模式比如单例模式中,经常可以看到静态成员函数的身影用来管理唯一实例的获取逻辑。如下所示即为一个简单的单例模式实现范例: ```cpp class Singleton { private: static Singleton* instance; // 声明静态指针成员存储唯一的实例 protected: Singleton(){} // 私有构造防止外部随意new public: ~Singleton(){} static Singleton* GetInstance(){ if(instance == NULL){ instance = new Singleton(); } return instance; } }; // 定义并初始化静态成员 Singleton* Singleton::instance = NULL; void SomeFunction(){ Singleton *singletonObj = Singleton::GetInstance(); // 获取唯一实例 } ``` 这里可以看出,借助静态成员函数可以有效地控制资源分配流程,并且简化了对外接口的设计复杂度。 --- ### 总结 综上所述,C++ 中的静态成员函数具有独特的性质——既隶属于整个类别又独立于各个个体之外运作。它的主要特点包括但不限于:能够被类名称直接调用而不必依靠实际存在之实体;不具备内置的 this 参考点因而难以触及那些依附于个别体上的属性或行为等等。这些特性决定了它非常适合应用于诸如工具型辅助功能封装或是全局状态维护之类的场景之中[^2]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值