选择特殊符号
选择搜索类型
请输入搜索
《品读大连(第2季):静像大连老建筑》内容源于大连晚报棒棰岛新闻周刊《大连老建筑》系列报道。这些多建于上个世纪之初的老建筑,承载着太多的岁月风华,到如今依旧古朴典雅。都说“建筑是历史的见证”,在照见中国近现代历史的同时,这些身历百年风雨的“见证者”用它们的存在,雕刻着岁月、过往、人生与命运。
八七印象
小洋楼里的故事
娩容楼
末代皇后的凄凉身影
姊妹楼
曾经的辉煌与风雨
阎锡山褛
山西风格老宅80年前就有空调
毛岸青楼
鲜为人知的一段记忆
郑孝胥楼
坠进深渊的“名士”
徐海东楼
见证戎马将军难得的平静时光
李秉衡故居
晚清重臣“官宅”寂寞乡野间
长隆德地主庄园
遗落在庄河山里的“乔家大院”
关东都督府旧址
厚重典雅难藏日本侵华祸心
旅顺博物馆
旅博的往事云烟
旅顺日俄监狱旧址
殖民统治的血腥见证
华俄道胜银行
穿越历史硝烟,而今风采依旧
大云书库
曾藏无价瑰宝,空留扼腕叹息
周家老宅
断指丹心民族魂
阎氏老宅
投影在辽南的中国近代史
量州火车站
老金州人的南站情怀
韩云阶旧居
小楼春秋盛下伪满重臣耻辱
团市委楼
落难军阀孙传芳在此隐居
河本大作旧居
小楼承载着沉重的历史
南山大庙
珍藏和传承大连文化的宝库
政协会馆
南山路125号90多年的沧桑
金璧东旧居
小楼无言,尘封老大连段段回忆
刘长春和郭安娜故居
名人老宅见证家运国运
张本政旧居
殖民羽翼下的寄生者
肃亲王府
定格在旧影中的家国往事
老自然博物馆
收藏大连几代人的记忆
大连艺术展贤馆
“童话小屋”迷住中外艺术家
烟台街
大连开埠的原点
中山广场
压得住场的百年建筑群2100433B
本书共分20讲,叙述了中外建筑的起源与发展概况,对中国古建筑发展、古建筑特征、各建筑类型、近现代建筑和国外各历史阶段最具代表性的建筑风格、建筑流派、代表人物与代表作品进行了详细的阐述和分析。《中外建筑...
本书是根据目前高职高专院校工程造价等专业的教学基本要求编写而成。本书共13章,包括建筑概述,建筑制图与识图的基本知识,基础,墙体,楼板层与地面,楼梯,屋顶,门与窗,变形缝,工业建筑构造,建筑施工图的识...
《大设计》无所不在。在会议室和战场上;在工厂车间中也在超市货架上;在自家的汽车和厨房中;在广告牌和食品包装上;甚至还出现在电影道具和电脑图标中。然而,设计却并非只是我们日常生活环境中的一种常见现象,它...
大连老建筑的现状和发展研究
本文是通过对大连的东关街、中山广场、俄罗斯风情街、南山等一批老建筑考察纪实和真实体验而写的。大连的老建筑是大连城市发展中重要的一部分,她记录着大连这座年轻并充满活力的城市所经历的风雨。
《摄影测量学》内容简介
<正>本书主编王双亭,河南理工大学教授,毕业于解放军测绘学院航空摄影测量专业,主要从事数字摄影测量和遥感信息提取方面的教学与研究工作。本书系统地介绍了摄影测量的基本原理、技术和最新成果。全书共分为六章:第一章介绍摄影测量的基本概念、发展过程及所面临的问题;第二章介绍了摄影像片的获取原理与技术;第三章介绍了中心
广角照相机1个:视角:170°, 127°, 90° 帧频:30 Hz – 120 Hz 像素:最大12百万像素。
水下照片拍摄。
优缺点比较
静多态是以牺牲灵活性而获得运行速度的一种做法;而动多态则恰恰相反,它是以牺牲运行速度而获取灵活性的做法。当然这么说是不全面的,看看下面这个特殊的应用:
使用静多态来实现动多态
这是一种在模板元编程(Template Metaprogramming)中常见的标准编程技巧。在C 中,可以借助模板来实现面向对象语言所支持动多态相似的功能特性(C 中指的就是的virtual 函数)。
下面是C 本身所支持多态形式:(virtual版)
#include
class Base {
public:
virtual void method() = 0;
virtual ~Base() { }
};
class Derived : public Base {
public:
virtual void method()
{
std::cout << "Derived" << std::endl;
}
};
class Derived2 : public Base {
public:
virtual void method()
{
std::cout << "Derived2" << std::endl;
}
};
int main()
{ Base *pBase = new Derived;
pBase->method(); // 输出:"Derived"
delete pBase;
Base *pBase2 = new Derived2;
pBase2->method(); // 输出:"Derived2"
delete pBase2;
return 0;
}
注:C 本身是借助virtual关键字来实现多态的(dynamic polymorphism),而通常编译器是借助virtual look-up tables(虚函数表)来决定该调用那个版本的函数,当然这一过程发生在运行期。
下面是使用CRTP(Curiously Recurring Template Pattern)来实现多与上面对应功能的静多态代码:
#include
template
class Base {
public:
void method()
{
// ...
static_cast(this)->implementation();
// ...
}
};
class Derived : private Base {
public:
void implementation()
{
std::cout << "Derived" << std::endl;
}
};
class Derived2 : private Base {
public:
void implementation()
{
std::cout << "Derived2" << std::endl;
}
};
int main()
{
Base *pBase = new Base();
pBase->method(); // 输出:"Derived"
delete pBase;
Base *pBase2 = new Base();
pBase2->method(); // 输出:"Derived2"
delete pBase2;
return 0;
}
虽然使用这种方式实现的多态和面向对象中的多态从功能上说差不多相同,但是前者没有后者易用、易懂、和能力强大。虽然如此,CRTP作为一种模板设计模式还是很有用的,例如,Boost iterator library就是用了这种方法来实现。
其实在别的语言中也存在CRTP这种模式,如Java,Enum类被定义为Enum>,当然由于Java在模板方面的不足,作为Java语言的使用者,你是没法自己体验这样的用法(Java虽然支持模板特性,但是用户不能自己定义模板,只能使用库里边的模板类)。2100433B