当前搜索:

【C++面向对象】C++中访问控制符限定的是类而非对象

面向对象的语言中都设置了访控属性来控制外部对类成员的访问,这种访控属性是属于类的,而非属于对象! 怎么理解这句话呢? 首先看下面的例子: class Student { private string name; void foo(const Student& s) { ...
阅读(971) 评论(0)

【C++数据类型】const 引用的几点用法

一、作为函数形参 const引用作为函数形参,可以实现传入右值和常左值实参,我们通过和普通引用作为形参进行对比来说明这一点。 首先,如下代码,将普通引用作为函数print的形参,传入右值和常左值引用,然后进行编译: #include using std::cout; using std::endl...
阅读(826) 评论(0)

用flask开发个人博客(14)—— flask中本地化时间的引用

flask中使用Flask_Mement来本地化日期和时间,在test.py文件中需要这样引入Flask_Mement模块: from flask.ext.moment import Moment Moment(app) 而在html中我们需要先引入moment.js和jquery.js两个js库...
阅读(1461) 评论(0)

【C++内存管理】浅析C++中函数调用时的内存分配-函数调用过程中其他函数相关的内存分布

#include using namespace std; void print() { cout<<"hello world"<<endl; } void test() { int arr[1]; arr[2]=(int)print; } ...
阅读(688) 评论(0)

用flask开发个人博客(13)—— 链接静态资源

之前介绍过flask中查看路由映射关系的方法: >>> from test import app >>> app.url_map Map([ user>, index>, ' (HEAD, OPTIONS, GET) -> static&...
阅读(3080) 评论(0)

【C++内存管理】浅析C++中函数调用时的内存分配-函数局部变量的内存分配

学习了C++这么久,内存问题感觉一直是一个拦路虎一样,说懂了感觉懵懵懂懂,说没懂吧,感觉也不是啥都不知道。有必要把它整理出来作为自己的一个知识体系的架构吧。 现在就从函数调用时的内存管理入手。 一、函数中普通变量的内存分配问题 我们知道当一个函数进行调用时,函数的形参、以及函数的局部变量都会在栈中...
阅读(642) 评论(0)

网络编程(12)—— 利用wait和waitpid函数消毁僵尸进程

僵尸进程的产生主要是因为父进程未向操作系统主动索要子进程的返回值(return或者exit),而要销毁僵尸进程,就需要父进程利用函数向操作系统索要该值。当子进程返回时把返回值交给操作系统,而操作系统会把该值放到内存中,我们要做的就是利用函数读取该内存块中值。 1、wait函数    wait函...
阅读(1362) 评论(0)

用flask开发个人博客(12)—— 自定义错误界面

flask中可自定义错误处理界面,如常见的404错误(客户端请求未知的页面或者路由),和500错误(服务器内部异常): test.py: @app.errorhandler(404) def page_not_found(e): return render_template('404....
阅读(1246) 评论(0)

网络编程(11)—— 进程和僵尸进程

一 新建进程     在linux中,可以用fork函数创建一个进程的副本(windows中无该功能),fork函数的原型如下: #include pid_t fork(void); 若在主进程调用fork函数,将会在内存中原样拷贝主进程而形成子进程,这样子进程和主进程就会同时享有fork之后的...
阅读(2078) 评论(0)

【C++数据类型】C++中的类型转换(三)

下面,主要介绍下C++中的reinterpret_cast 我们先看一个例子: #include using namespace std; int main() { int i=100; int* pi=&i; double* dpi=pi; cout<<*pi<...
阅读(520) 评论(0)

【C++数据类型】C++中的类型转换(二)

二、常类型转换         常类型转换,是去除变量的常量属性,我们先看下面的例子: #include using namespace std; int main() { const int i=100; int* pi=&i; *pi=200; cout<&...
阅读(528) 评论(0)

【C++数据类型】C++中的类型转换(一)

我们知道C++是一种强类型的语言,在任何变量在使用之前,必须先要进行声明。C++也支持类型之间的转换,而且在保证类型安全的情况下还可以做一些隐式的类型转换,如int类型变量可以直接隐式转换成char型: int i=0; char c=i; 除了隐式类型转换之外,C++还支持强制类型转换,共有...
阅读(492) 评论(0)

【C++数据类型】C++中数组名的二义性

C++中数组名的二义性表现在在不同的上下文,数组名所代表的含义可能不一样,我们都知道数组名一般情况下表示数组首元素的地址,但是如下面的例子: #include using namespace std; void fun(int arr[3]) { cout<<sizeof(arr...
阅读(756) 评论(0)

用flask开发个人博客(11)—— 模板中代码的重复使用

一、宏的引用 上节介绍过将宏保存到单独的html文件中,并重复引用的语法: {% import ‘macros.html’ as macros %} {% for comment in comments %} macros.render_comment(comment) {% ...
阅读(1730) 评论(0)

用flask开发个人博客(10)—— Jinja2模板中的控制结构

前面介绍了Jinja2模板中的变量,下面介绍下模板中的控制结构。 if语句: {% if condition %} ... {% else %} ... {% endif %} 在模板文件中实现,输入用户名时浏览器上显示Hello 用户名,若不输入用户名显示Hello Str...
阅读(1715) 评论(1)

浅谈UML中类之间的五种关系及其在代码中的表现形式

原文出自:http://www.cnblogs.com/DebugLZQ/archive/2013/05/13/3066715.html 什么是类? 将某类东西归纳在一起,可以成为一个类。 类有很多种提炼角度,需要根据系统地目标、业务的场景,选取合适的角度对事物进行归...
阅读(918) 评论(0)

四步轻松实现用Visio画UML类图

原文链接:四步轻松实现用Visio画UML类图 四步轻松实现用Visio画UML类图 本节和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解。  用Visio画UML类图  对于画...
阅读(30772) 评论(2)

用flask开发个人博客(9)—— Jinja2模板中的变量

在前面介绍过得{{ name }}结构表示一个变量,他是一种特殊的占位符,告诉模板引擎这个位置的值从渲染模板时使用的数据中获取。 在模板中可以识别所有类型的变量甚至是一些复杂的类型。 test.html: A value from a dictionnary:{{mydict['key']}} A...
阅读(3937) 评论(0)

网络编程(10)—— 通过设置可选项取消socket的TImeWait状态以及开启Nagle算法

一、Time_Wait。 我们先回顾一下之前学过的socket断开连接时的四次握手过程: 第一次握手:主机A向主机B提出断开连接的请求。 第二次握手:主机B接收到请求后向主机A传递消息:请稍等,稍后断开连接 第三次握手:主机B端向主机A发送消息:现在可以断开连接 第四次握手:主机A向主机B发送消息...
阅读(2752) 评论(0)

网络编程(9)—— 怎么获取和设置socket的输出\输入缓冲等多种可选项

套接字中可以设置和获取多种可选项,包括套接字的类型(TCP套接字还是UDP套接字)、接收和发送缓冲区的大小等等,详见《TCP/IP网络编程》140页。我们利用getsockopt和setsockopt进行套接字的可选项信息的获取和设置。 #include int getsockopt(int ...
阅读(3230) 评论(0)
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 57万+
    积分: 8533
    排名: 2902
    其它平台
    博客专栏