心生杂念吧 关注:29贴子:1,465
  • 13回复贴,共1

c家族编程小记

取消只看楼主收藏回复

以后编程遇见的心得问题不再在计原答案下加楼,改到此


IP属地:湖北1楼2016-05-15 23:43回复
    java: finally 关键字是对 Java 异常处理模型的最佳补充。 finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。


    IP属地:湖北2楼2016-05-15 23:44
    收起回复
      赋值兼容规则是指在需要基类对象的任何地方都可以使用公有派生类的对象来替代。通过公有继承,派生类得到了基类中除构造函数、析构函数之外的所有成员,而且所有成员的访问控制属性也和基类完全相同。这样,公有派生类实际就具备了基类的所有功能,凡是基类能解决的问题,公有派生类都可以解决。赋值兼容规则中所指的替代包括以下的情况:
        ·派生类的对象可以赋值给基类对象。
        ·派生类的对象可以初始化基类的引用。
        ·派生类对象的地址可以赋给指向基类的指针。
        在替代之后,派生类对象就可以作为基类的对象使用,但只能使用从基类继承的成员。


      IP属地:湖北3楼2016-05-15 23:44
      回复
        文字来源:http://www.cnblogs.com/yhlx/articles/2177756.html
        2:C++中的有虚函数的概念,用virtual 关键字来表示,每个类都会有一个虚函数表,该虚函数表首先会从父类中继承得到父类的虚函数表, 如果子类中重写了父类的虚函数(不管重写后的函数是否为虚函数),要调用哪个虚函数,是根据当前实际的对象来判断的(不管指针所属类型是否为当前类,有可 能是父类型),指针当前指向的是哪种类型的对象,就调用哪个类型中类定义的虚函数。每个类只有一张虚拟函数表,所有的对象共用这张表。
        C++的函数多态就是通过虚函数来实现的。
        3:C++中,如果函数不是虚函数,则调用某个函数,是根据当前指针类型来判断的,并不是根据指针所指向对象的类型。
        4:Java中,如果函数不是抽象函数,而是一个普通函数,它是默认实现类似C++中虚函数功能的,也就是说,调用某个函数,是根据当前指针所指向对象的类型来判断的,而不是根据指针类型判断。正好与C++中的普通函数相反。即:JAVA里自动实现了虚函数。
        C++ Java
        虚函数 -------- 普通函数
        纯虚函数 -------- 抽象函数
        抽象类 -------- 抽象类
        虚基类 -------- 接口


        IP属地:湖北4楼2016-05-16 00:20
        回复
          关于java的控制台读取
          地址:http://www.blogjava.net/shiliqiang/articles/291187.html


          IP属地:湖北5楼2016-05-16 12:37
          回复
            socket客户聊天器参考思路:http://www.mamicode.com/info-detail-452413.html


            IP属地:湖北6楼2016-05-17 21:07
            回复
              子类父类各个语句执行顺序
              父类的静态变量赋值
              自身的静态变量赋值
              父类成员变量赋值
              父类块赋值
              父类构造器赋值
              自身成员变量赋值
              自身块赋值
              自身构造器赋值
              http://www.360doc.com/content/13/0927/20/7673502_317521556.shtml


              IP属地:湖北7楼2016-05-18 17:08
              回复
                java类似动态数组功能的vector类中elementAT方法与get
                地址:http://blog.csdn.net/llwan/article/details/5708595
                elementAt
                public E elementAt(int index)返回指定索引处的组件。
                此方法的功能与 get 方法的功能完全相同(后者是 List 接口的一部分)。
                E你可以理解为组件或者Object吧,就是你在向量里装入的那些东西的统称吧。get和elementAt是完全相同的。JAVA1.2以前 Vector并不实现List接口,所以用着elemengtAt()方法。后来实现了List以后就拥有了List中的get()方法。List接口是 不具有elementAt()方法的。
                注:尽管elemengtAt()方法未过时,但首选使用方法是 get(int)。


                IP属地:湖北8楼2016-05-31 19:28
                回复
                  java Vector类常见方法
                  java.util 类 Vector<E>
                  boolean add(E o)
                  将指定元素追加到此向量的末尾。
                  void add(int index, E element)
                  在此向量的指定位置插入指定的元素。
                  boolean addAll(Collection<? extends E> c)
                  将指定 Collection 中的所有元素追加到此向量的末尾,按照指定集合的迭代器所返回的顺序追加这些元素。
                  boolean addAll(int index, Collection<? extends E> c)
                  在指定位置将指定 Collection 中的所有元素插入到此向量中。
                  void addElement(E obj)
                  将指定的组件添加到此向量的末尾,将其大小增加 1。
                  int capacity()
                  返回此向量的当前容量。
                  void clear()
                  从此向量中移除所有元素。
                  Object clone()
                  返回向量的一个副本。
                  boolean contains(Object elem)
                  测试指定的对象是否为此向量中的组件。
                  boolean containsAll(Collection<?> c)
                  如果此向量包含指定 Collection 中的所有元素,则返回 true。
                  void copyInto(Object[] anArray)
                  将此向量的组件复制到指定的数组中。
                  E elementAt(int index)
                  返回指定索引处的组件。
                  Enumeration<E> elements()
                  返回此向量的组件的枚举。
                  void ensureCapacity(int minCapacity)
                  增加此向量的容量(如有必要),以确保其至少能够保存最小容量参数指定的组件数。
                  boolean equals(Object o)
                  比较指定对象与此向量的相等性。
                  E firstElement()
                  返回此向量的第一个组件(位于索引 0 处的项)。
                  E get(int index)
                  返回向量中指定位置的元素。
                  int hashCode()
                  返回此向量的哈希码值。
                  int indexOf(Object elem)
                  搜索给定参数的第一个匹配项,使用 equals 方法测试相等性。
                  int indexOf(Object elem, int index)
                  搜索给定参数的第一个匹配项,从 index 处开始搜索,并使用 equals 方法测试其相等性。
                  void insertElementAt(E obj, int index)
                  将指定对象作为此向量中的组件插入到指定的 index 处。
                  boolean isEmpty()
                  测试此向量是否不包含组件。
                  E lastElement()
                  返回此向量的最后一个组件。
                  int lastIndexOf(Object elem)
                  返回指定的对象在此向量中最后一个匹配项的索引。
                  int lastIndexOf(Object elem, int index)
                  向后搜索指定的对象,从指定的索引处开始搜索,并返回一个索引。
                  E remove(int index)
                  移除此向量中指定位置的元素。
                  boolean remove(Object o)
                  移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。
                  boolean removeAll(Collection<?> c)
                  从此向量中移除包含在指定 Collection 中的所有元素。
                  void removeAllElements()
                  从此向量中移除全部组件,并将其大小设置为零。
                  boolean removeElement(Object obj)
                  从此向量中移除变量的第一个(索引最小的)匹配项。
                  void removeElementAt(int index)
                  删除指定索引处的组件。
                  protected void removeRange(int fromIndex, int toIndex)
                  从此 List 中移除其索引位于 fromIndex(包括)与 toIndex(不包括)之间的所有元素。
                  boolean retainAll(Collection<?> c)
                  在此向量中仅保留包含在指定 Collection 中的元素。
                  E set(int index, E element)
                  用指定的元素替换此向量中指定位置处的元素。
                  void setElementAt(E obj, int index)
                  将此向量指定 index 处的组件设置为指定的对象。
                  void setSize(int newSize)
                  设置此向量的大小。
                  int size()
                  返回此向量中的组件数。
                  List<E> subList(int fromIndex, int toIndex)
                  返回此 List 的部分视图,元素范围为从 fromIndex(包括)到 toIndex(不包括)。
                  Object[] toArray()
                  返回一个数组,包含此向量中以正确顺序存放的所有元素。
                  <T> T[]
                  toArray(T[] a)
                  返回一个数组,包含此向量中以正确顺序存放的所有元素;返回数组的运行时类型为指定数组的类型。
                  String toString()
                  返回此向量的字符串表示形式,其中包含每个元素的 String 表示形式。
                  void trimToSize()
                  对此向量的容量进行微调,使其等于向量的当前大小。


                  IP属地:湖北9楼2016-05-31 19:39
                  回复
                    c++自带函数以后在此楼
                    erase函数的原型如下:
                    (1)string& erase ( size_t pos = 0, size_t n = npos );
                    (2)iterator erase ( iterator position );
                    (3)iterator erase ( iterator first, iterator last );
                    也就是说有三种用法:
                    (1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符
                    (2)erase(position);删除position处的一个字符(position是个string类型的迭代器)
                    (3)erase(first,last);删除从first到last之间的字符(first和last都是迭代器)
                    http://www.cnblogs.com/ylwn817/articles/1967689.html


                    IP属地:湖北10楼2016-06-21 17:20
                    收起回复
                      关于Java重载方法匹配优先级
                      char->int->long->character
                      http://my.oschina.net/sel/blog/223229


                      IP属地:湖北11楼2016-06-29 10:59
                      回复
                        http://www.360doc.com/content/10/0319/17/908129_19415667.shtml
                        关于 java.lang.string.split,用来读取一篇文章内用空格隔开的每一个单词。


                        IP属地:湖北12楼2016-07-08 15:13
                        收起回复
                          对sizeof函数的深究:http://blog.csdn.net/van150/article/details/544454
                          1.sizeof的结果等于对象或者类型所占
                          2.结构体 字节对齐 计原


                          IP属地:湖北13楼2016-11-10 21:00
                          回复


                            IP属地:湖北14楼2017-01-26 11:47
                            回复