zoukankan      html  css  js  c++  java
  • 不用局部变量和全局变量实现strlen

    strlen源码剖析

    学习高效编程的有效途径之一就是阅读高手写的源代码,CRT(C/C++ Runtime Library)作为底层的函数库,实现必然高效。恰好手中就有glibc和VC的CRT源代码,于是挑了一个相对简单的函数strlen研究了一下,并对各种实现作了简单的效率测试。

    strlen的函数原形如下:

          size_t strlen(const char *str);

    strlen返回str中字符的个数,其中str为一个以''结尾的字符串(a null-terminated string)。

    1. 简单实现
    如果不管效率,最简单的实现只需要4行代码:

    1 size_t strlen_a(const char * str) {
    2     size_t length = 0
    ;
    3     while (*str++
    )
    4         ++
    length;
    5     return
     length;
    6 }

    也许可以稍加改进如下:

    1 size_t strlen_b(const char * str) {
    2     const char *cp =
     str;
    3     while (*cp++
    )
    4 
            ;
    5     return (cp - str - 1
    );
    6 }

    后续高端部分:http://www.cppblog.com/ant/archive/2007/10/12/32886.html

  • 相关阅读:
    网页中的JavaScript
    css颜色表示
    css文本属性
    css2选择器
    css3选择器
    Canvas练习
    Canvas
    CSS样式之语法
    css基础1
    php操作成功返回当前页并刷新
  • 原文地址:https://www.cnblogs.com/For-her/p/3182308.html
Copyright © 2011-2022 走看看