`
mooncui
  • 浏览: 71297 次
社区版块
存档分类
最新评论
文章列表
一个问题,如下图,没有画出箭头     *  -       + 5     3  4 Class Expr_node{  friend ostream operate<<(ostream&,const Expr_node&); //<<符号是不能用动态绑定的,所以用print函数采用动态绑定,用<<符号调用print函数                   //而且由于不准备提供print函数给用户使用,则把print定为protected,把<<符号定为友元。 protected:  virtual void print(os ...
句柄 从代理类我们继续考虑,怎样可以避免对象复制呢,引出句柄 Class Point{ public:  Point():xval(0),yval(0){}  Point(int x,int y):xval(x),yval(y){}  int x() const{return xval;}  int y() const{return yval;}  Point& x(int xv){xval = xv;return *this;}  Point& y(int yv){yval = yv;return *this;} private:  int xval,yval; } 句柄是什么 ...
开始看Hibernate reference,运行hibernate的test中的代码。 Environment是一个非常重要的类。它定义了很多常量,最重要的是hibernate的入口在这里。在Environemt类中有段static 代码: static {   //一些常量设置   //导入hibernate.properties到GLOBAL_PROPERTIES   InputStream stream = ConfigHelper.getResourceAsStream("/hibernate.properties");   ...      GLOBAL_PROP ...
代理类 面向对象编程主要关注继承、动态绑定。 继承是一种抽象,允许程序员可以在某种时刻忽略相似对象间的差异,又在其他时候利用这些差异 在将继承和容器共用时,需要处理的问题是:控制内存分配,把不同类型的对象放入同一个容器。 这时我们需要一个代理类,这个类的每个对象可以代理基类及其任何子类的对象,但这个代理类我们不想再写出多个子类,只一个基类就可以实现所有功能 class VehicleSurrogate { public  VehicleSurrogate();  VehicleSurrogate(const Vehicle&);  ~VehicleSurrogate();  Vehic ...
类设计者的核查表 1. 类需要构造函数么? 2. 数据是否需要保持私有的? 方案一 public:  int length;   方案二 public:  const int& length;//在构造函数中length = true_length;这样由于是const变量,只能读,不能修改。 private:  int true_length;   方案三 public:  int length() const;// 3. 是否需要一个无参的构造函数? 如果没有无参的构造函数,那么 Point p; Point pa[100]; 这样的定义都是错误的。 4. 是不是每个构造函数初始化所 ...

vi命令

实际我常用的是:dd,yy+p,/,set nu, 1. vi中设置tab键的空格数: :set ts=4(tab设置为4个) 将此句话加到当前用户目录的文件.vimrc中,这样当前用户用vi的时候就会启动该设置 2.拷贝: 将第2行到第9行的字copy到第11行 :2,9 co 10 将第2行到第9行的字move到第11行 :2,9 m 10 3.设置行号: :se nu 取消行号: :se nonu 4.当前行与下一行换位置:ddp 5.当前字与后面的字换位置:xp 6.光标向左移一个字符:h 光标向下移一个字符:j 光标向上移一个字符:k 光标向下移一个字符:l 光标移到下一行行首:+(加 ...
gdb使用 gdb release.exe(可执行程序名) >r(run) start (参数) 其他命令 b(break) function name  设断点 n(next)                 单步执行 s(step)     step into l(list)     显示源码 c(continue)    继续程序 bt(backtrace)   显示栈中内容 p(print)    检查表达式的值
1.strcpy是拷贝直到\n时结束,所以长度上要增加一个字节,例如原来是一个字符的char[s]="s", 到了string中就是"s\n",strcpy是拷贝2个字符,如果拷贝目标地址只有一个字节长度,就会有问题。 2.每个线程一个栈(stack),堆(heap)空间共享,栈空间线程独立,全局变量进程内共享. 另外在windows下如果用dll,那么每个dll有自己的数据段,全局变量在dll内共享. 有些第三方库内部有隐含的全局变量,使用多线程调用这些库的时候要小心. 全局变量指static或者在函数体外面定义. 类没有定义变量,类只是定义数据结构.对 ...
macAddress=$(/sbin/ifconfig eth0 2>nil | grep 'HWaddr' | sed 's/.*HWaddr //' | sed 's/ :*//' | sed 's/:/-/g' | tr A-Z a-z | sed 's/\s//g') sed -i "s/.../$macAddress" filename sed -i  's/something/others/' filename  means replace somthing to others in filename,replacement will work once,i ...
还没整理好,先留个脚印 元字符 描述   .            匹配任何单个字符。例如正则表达式r.t匹配这些字符串:rat、rut、r t,但是不匹配root。 $           匹配行结束符。例如正则表达式weasel$ 能够匹配字符串"He's a weasel"的末尾,但是不能匹配字符串"They are a bunch of weasels."。  ^           匹配一行的开始。例如正则表达式^When in能够匹配字符串"When in the course of human events"的开始,但是不 ...
1.一般rpm包的应用是 安装:rpm -ivh rpmname.rpm 卸载:rpm -e rpmname 升级:rpm -U rpmname.rpm 查询:rpm -qa | grep some name 校验:rpm -V 2.要制作一个RPM包,首先安装rpm-build软件,我是用yum安装的 安装好后在/usr/src/redhat/目录下面有几个子目录 BUILD:用来存放打包过程中的源文件 RPMS:保存打包好后的rpm格式二进制文件 SOURCES:打包是要用到的源文件和patch SPECS:保存spce文件,这个文件是关键点 SRPMS:保持打包好后的rpm格式源文件 3 ...
摘自prototype.js开发者手册1.4版 1.简介 prototype.js 是一个由Sam Stephenson写的JavaScript包。这个构思奇妙编写良好的一段兼容标准的一段代码将承担创造胖客户端, 高交互性WEB应用程序的重担。轻松加入Web 2.0特性。 2.通用方法 $() 方法是在DOM中使用过于频繁的 document.getElementById() 方法的一个便利的简写,如:$('myDiv'); $F()方法返回任何输入表单控件的值,如文本框或下拉框。 这个方法可以传入元素的id或者元素自己。如:alert(  $F('userName')  ); $A()方法把 ...
1.web.xml中dwr定义的一点小技巧 可以设置dwr的日志级别 在web.xml文件中定义dwr-invoker servlet的时候 <init-param>    <param-name>logLevelparam-name>    <param-value>DEBUGparam-value>   init-param>   另外增加下面的参数,可以让dwr以debug模式产生测试页面 <init-param>     <param-name ...
参看http://getahead.org/ 一、DWR简介 DWR是一个开源的java包,可以使浏览器中的代码使用web服务器中java类的方法,就像这个方法就是在浏览器中一样。 DWR包括两个部分:一个运行在服务器端的Java Servlet,负责处理浏览器的请求并发送反馈给浏览器;另一个是运行在浏览器端的Java Script,负责发生请求并动态修改web页面。 DWR的原理就是基于java类动态产生javascript代码,AJAX使得服务器端java类的方法好像是在是在浏览器端执行的,这种类似传统RPC机制,就很象RMI,或SOAP。而且它的优势是在web上运行但不需要浏览器插件。 ...
  openldap数据是存储在mysql中的,在部署另外一个环境的时候,另建了一个库,然后同事说权限有什么特别的,去数据库里授权了一下,我也不清除他到底作了什么。由于openldap是通过odbc连mysql的,所以在odbc.ini中改了一下数据库名,然后改openldap的schema,mysql中的数据。   ok,准备启动openldap,发现启动不起来了,查一下日志,发现是数据库连不上,报backend_startup_one: bi_db_open failed! 。不知道为什么数据库连不上,把所有作过的操作都恢复原状,然后还是启动不了。后来把openldap的loglevel设为 ...
Global site tag (gtag.js) - Google Analytics