百科问答小站 logo
百科问答小站 font logo



c++11如何实现单例模式? 第1页

  

user avatar   xi-yang-86-73 网友的相关建议: 
      

对于简单的、不需要反复释放重建的单例,C++11之后正确方式如 @Alives 高赞答案。我来解释一下另一个常用方法有什么问题:

       // header file class MyClass { public:     static MyClass instance; }  // impl file MyClass MyClass::instance;     

最大的问题是:函数内static变量的构造顺序可预测,第一次访问时创建,程序退出(或DLL卸载时)以创建的反顺序销毁。而如果写成全局变量(或类内static成员),其构造顺序不定,只能保证以“某种顺序”在main函数之前完成构造,以反顺序销毁。这样一来,如果存在复杂的交互,可能会访问到未被构造的空对象。


user avatar   yiwang-er-shen-23 网友的相关建议: 
      

随夫姓不局限于发达国家,但全世界都大差不差。

婚后随夫姓,确实是体现了一种从属关系。如果按今天的政治正确,尤其是按女权思想,简直不可救药。而实际上,把目光放在历史长河当中,能随夫姓简直相当于进了体制内,属于铁饭碗待遇的体现!

苏轼牛不牛?其最爱的小妾,也就是被谪至黄州[1]都没有卖掉[2]的王朝云[3],坟头上也只能写着王氏,而非苏王氏[4]

图片出自百度百科

另外,关于姓氏,咱中国还略好一些,像日本,姓氏取的那么随意,也实在是没有办法!毕竟天皇到今天还没有姓氏[5],而平民拥有姓氏也只是近150年的事情[6]。姓氏上由于太随意,留下了很多奇葩的存在,例如"一二三、我孙子、肛门、猪鼻、上床、浮気[7]、土肥"……

名字就更随意了,男娃就叫大郎、次郎、三郎,至于山本五十六[8],咱也不敢说,咱也不敢问;女娃就是花子、美子、优子、菜子……并不比我们的大柱、二牛、小凤、翠花更高雅……

欧洲也没好到哪去,别看有些人名字里带个"Von/de/Don"之类的很显洋贵,其实11世纪之前这些贵族连姓都没有[9]。至于平民,那就更好办了,要么领个教姓/名[10],要么干脆看情况起一个,比如Fisher(鱼夫),Smith(铁匠),Hunter(猎人),Johnson(约翰之子),苹果CEO cook祖上大概率是厨子……

但毫无疑问的是,家庭作为社会中最基本的利益共同体,能否成为正式的家庭成员当然是极重要的硬指标。

在长久的旧时代,宗族/家族出身是极重要的,这是不分国界的。于女性而言,几乎不可能独立生存,如果再得不到家族的实名认证,人生大都是悲惨的。如果说有所区别,大概也只是悲惨的程度和花样。

现在回归问题身本:为什么如今在很多发达国家同样以随夫姓为主流呢?

先说,我国是破了四旧[11],烧了不知多少本家/族谱,否则也不会出现争冠姓权这种事。

一方面是惯性使然。这可不只是习惯问题,更不是简单的一句"传统观念"就能解释的。这种惯性,更多的是一种力量,是利益集团的一个标致,其中并非只有男权,而是整个家族的权力征徽,更类似于一家大企业的名号,其庇护作用是显而易见的。

而平民阶层随夫姓的主要原因是效仿权贵阶层,除了自觉拿到了"皇帝的金锄头",再就是"话事人[12]"原则的体现,也就是每家每户,都要有个撑门面的最强者,而普遍上兼具暴力与理性的男性显然更适合这个位置。就普通家庭而言,其实这个位置并没有多爽,责权一体不是说着玩的!如果放在中国,这个位置就更难坐了,很多中国家庭中享有冠姓权的男性,责任与实权、收益并不成正比。

这里面还有个逻辑推导,既从妻子的角度出发“我随他姓是因为他很强,也比我强,如果反过来,他随我姓就说明我比他强,反推就是他比我弱,如果我还不如多数随夫姓的女子,那则说明我们一家子都还不如别人家最弱的那个,那就没法混了呀!”

所以,姓氏对于小家庭意义并不大,但对家庭某一成员的意义很大。且随夫姓并不见得就亏,反而很可能是赚的,无利不起早,这符合人性中的趋利特点。

那一定有人问“为什么现在很多女性/女权还要争冠姓权呢?”

答案就是:不是姓氏有问题,而是人品有问题!


以上。

参考

  1. ^ 黄冈
  2. ^ 古时候妾属于财产,更接近于随意买卖交易的财物。
  3. ^ https://baike.baidu.com/item/%E7%8E%8B%E6%9C%9D%E4%BA%91/56511
  4. ^ 了解苏轼的应该知道,确有苏王氏,既其第二任妻子王弗。
  5. ^ 日本天皇是真的没有姓氏,虽自称是天照大神的后裔,但客观反应了中古时期(公元600年)之前的日本的蛮荒程度,这与人们普遍认知的日本文化相去甚远。
  6. ^ 明治三年(公元1870年)日本政府作出“凡国民,均可起姓”的决定。可是竟然没有多少人响应,于是,政府不得不在明治八年(1875年)颂布了强制性的《苗字必称令》,规定了“凡国民,必须起姓”。
  7. ^ 意为出轨。
  8. ^ 因其出生时父亲56岁。
  9. ^ 欧洲贵族自11世纪起才普遍以封地为姓氏,之前基本有名无姓。
  10. ^ 出自于宗教典籍,或牧师之类给起的姓氏
  11. ^ 指破除旧思想、旧文化、旧风俗、旧习惯,与其后的"立四新"相对应。
  12. ^ 指在一个组织中做出决定并承担责任,同时享有最高地位的人。



  

相关话题

  同时会C#、Qt还有Python是一种什么体验? 
  c++的单例模式为什么不直接全部使用static,而是非要实例化一个对象? 
  什么时候用C而不用C++? 
  为什么 C 语言没有被 C++ 取代? 
  计算机大牛们,看C++有关书籍是不是一遍就看懂了,总感觉自己笨,有些地方需要看几遍才懂? 
  C++对一个map不断insert delete元素(多任务中的一个任务),是否存在内存碎片问题? 
  c++循环里面定义重名为什么不报错? 
  如何理解互斥锁、条件锁、读写锁以及自旋锁? 
  c++初学者有必要深挖这样的问题吗? 
  如何修改shared_ptr智能指针,让他支持多线程? 

前一个讨论
为什么全网甚至全中国找不到一个能轻松,清晰,简洁明了把java编程讲清楚的人?
下一个讨论
为什么 C++ 没有 C 语言快?





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利