小编Bar*_*zKP的帖子

是否会自动调用基类构造函数?

class Person
{
    public int age;
    public Person()
    {
        age = 1;
    }
}

class Customer : Person
{
    public Customer()
    {
        age += 1;
    }
}

Customer customer = new Customer();
Run Code Online (Sandbox Code Playgroud)

客户的年龄是2岁吗?似乎无论如何都会调用基类的构造函数.如果是这样,我们为什么base有时需要打电话?

public Customer() : base()
{
    .............
}
Run Code Online (Sandbox Code Playgroud)

c# constructor base-class

94
推荐指数
5
解决办法
6万
查看次数

空引用是否可行?

这段代码是否有效(和定义的行为)?

int &nullReference = *(int*)0;
Run Code Online (Sandbox Code Playgroud)

这两个g ++以及铛++编译它没有任何警告,即使使用-Wall,-Wextra,-std=c++98,-pedantic,-Weffc++...

当然,引用实际上不是null,因为它无法访问(这意味着取消引用空指针),但我们可以通过检查其地址来检查它是否为null:

if( & nullReference == 0 ) // null reference
Run Code Online (Sandbox Code Playgroud)

c++ null reference language-lawyer

91
推荐指数
4
解决办法
10万
查看次数

何时使用std :: begin和std :: end而不是容器特定版本

有没有到底应该用来代替自由函数来解释,当容器开始和特定版本的任何一般的偏好或规则std::beginstd::end

这是我的理解是,如果该函数是一个模板,其中容器类型是模板参数则std::beginstd::end应使用,即:

template<class T> void do_stuff( const T& t )
{
    std::for_each( std::begin(t), std::end(t), /* some stuff */ );
}
Run Code Online (Sandbox Code Playgroud)

在其他场景中,例如已知容器类型的标准/成员函数呢?它仍然是更好的做法是使用std::begin(cont)std::end(cont)或应容器的成员函数cont.begin()cont.end()首选?

我在假设有通过调用在性能上没有任何好处纠正cont.end()std::end(cont)

c++ c++11

89
推荐指数
3
解决办法
2万
查看次数

在Android中从c ++调用java方法

我正在尝试从C++获取一个简单的Java方法调用,而Java调用本机方法.这是Java代码:

public class MainActivity extends Activity {
    private static String LIB_NAME = "name";

    static {
        System.loadLibrary(LIB_NAME);
    }

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView tv = (TextView) findViewById(R.id.textview);
        tv.setText(this.getJniString());
    }

    public void messageMe(String text) {
        System.out.println(text);
    }

    public native String getJniString();
}
Run Code Online (Sandbox Code Playgroud)

我试图messageMegetJniString*从Java到本机的方法调用过程中从本机代码调用方法.

native.cpp:

#include <string.h>
#include <stdio.h>
#include <jni.h>

jstring Java_the_package_MainActivity_getJniString( JNIEnv* env, jobject obj, jint depth ){

//    JavaVM *vm;
//    JNIEnv *env; …
Run Code Online (Sandbox Code Playgroud)

c++ java java-native-interface android android-ndk

88
推荐指数
2
解决办法
10万
查看次数

如何在redis中"扩展""HSET"子键?

我需要使用redis散列中的所有密钥到期,这些密钥早于1个月.

hash redis

88
推荐指数
6
解决办法
8万
查看次数

如何忽略存储库中的文件?

我有一个文件(config.php),已经提交给Git存储库,但我想在本地忽略,即我希望该文件保留在存储库中,但强制Git忽略对它的任何更改.

我将文件放入.gitignore,但它仍然标记为已更改,Git仍在尝试对其进行更改,每次我提交的内容.任何想法,我错过了什么或做错了什么?

git gitignore git-rm

86
推荐指数
2
解决办法
3万
查看次数

如何将多个程序集合并为一个?

我使用EXE项目(azure应用程序的启动任务)使用我的服务堆栈,因为我已将以下服务堆栈的DLL和一些Azure的DLL复制到EXE项目中.

dll文件

当我构建这个EXE项目时,Azure DLL将与我的EXE捆绑在一起但服务堆栈的DLL不会与EXE捆绑在一起,因为要在任何机器上运行我的EXE,我需要手动复制所有服务堆栈的DLL.

我已经使用了这个服务栈的dll来使用

JsonServiceClient client = new JsonServiceClient(servicepath);
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能将所有这些DLL捆绑到我的EXE中?

c# ilmerge assemblies exe servicestack

82
推荐指数
6
解决办法
8万
查看次数

安装ASP.NET MVC 4 Beta后抛出InvalidCastException

在使用ASP.NET MVC 3的计算机上安装ASP.NET MVC 4 Beta后,我收到以下异常.

System.InvalidCastException未由用户代码处理Message = [A] System.Web.WebPages.Razor.Configuration.HostSection无法强制转换为[B] System.Web.WebPages.Razor.Configuration.HostSection.类型A源自'System.Web.WebPages.Razor,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35',位于'默认'位置'C:\ Windows\Microsoft.Net\assembly\GAC_MSIL\System .Web.WebPages.Razor\v4.0_1.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll".\的Windows\Microsoft.Net \组件\ GAC_MSIL \系统:B型从 'System.Web.WebPages.Razor,版本= 2.0.0.0,文化=中性公钥= 31bf3856ad364e35' 在位置上下文 '默认'"C起源.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll".来源= System.Web.WebPages.Razor

堆栈跟踪:

位于System.Web.WebPages.Razor.Razor.RazorBuildProvider.GetHostFromConfig()的System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(String virtualPath,String physicalPath)上的System.Web.WebPages.Razor.WebRazorHostFactory.GetRazorSection(String virtualPath)处系统.Web.WebPages.Razor.RazorBuildProvider.CreateHost()位于System.Web.WebPages.Razor.RazorBuildProvider.EnsureGeneratedCode(),System.Web.WebPages.Razor.RazorBuildProvider.get_CodeCompilerType()位于System.Web.Compilation.BuildProvider. System.Web.Compilation上的System.Web.Compilation.Build上的System.Web.Compilation.Build上的System.Web.Compilation.Build上的System.Web.Compilation.BuildProvidersCompiler.PerformBuild()的System.Web.Compilation.Build上的GetCompilerTypeFromBuildProvider(BuildProvider buildProvider)位于System.Web.Compilation上的System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath虚拟路径). BuildManager.GetVPathBuildResultInternal(virtualPath virtualPath,布尔noBuild,布尔allowCrossApp,布尔allowBuildInPrecompile,布尔throwIfNotFound,布尔ensureIsUpToDate)一 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath,HttpContext context,Boolean)中的System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile,Boolean throwIfNotFound,Boolean ensureIsUpToDate) System.Web.Mvc上System.Web.Mvc.BuildManagerViewEngine.FileExists(ControllerContext controllerContext,String virtualPath)上的System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists(String virtualPath)中的allowCrossApp,Boolean throwIfNotFound System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(ControllerContext controllerContext,String []位置,.VirtualPathProviderViewEngine.GetPathFromGeneralName(ControllerContext controllerContext,List`1位置,String name,String controllerName,String areaName,String cacheKey,String []&searchingLocations), String [] areaLocations,String locationsPropertyName,S 在System.Web.Mvc.ViewEngineCollection上的System.Web.Mvc.VirtualPathProviderViewEngine.FindView(ControllerContext controllerContext,String viewName,String masterName,Boolean useCache)中输入name,String controllerName,String cacheKeyPrefix,Boolean useCache,String []&searchingLocations).位于System.Web.Mvc.ViewEngineCollection.FindView(ControllerContext controllerContext,String viewName,String masterName)的System.Web.Mvc.ViewEngineCollection.Find(Func`2 lookup,Boolean trackSearchedPaths)上的<> c__DisplayClassc.b__b(IViewEngine …

asp.net asp.net-mvc razor asp.net-webpages asp.net-mvc-4

82
推荐指数
4
解决办法
3万
查看次数

std :: map扩展初始化列表会是什么样的?

如果它甚至存在,std::map扩展的初始化列表会是什么样的?

我已经尝试了一些组合......好吧,我能用GCC 4.4想到的一切,但没有发现任何编译.

c++ dictionary initializer-list c++11

81
推荐指数
2
解决办法
5万
查看次数

在新的ASP.NET MVC 5项目中更新NuGet包引用后,如何修复与JSON.NET的程序集版本冲突?

我在VS 2013(Update 1)中创建了一个新的ASP.NET MVC 5 Web项目,然后更新了所有NuGet包.当我构建项目时,我收到以下警告:

警告MSB3243:无法解决"Newtonsoft.Json,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed"和"Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed"之间的冲突.

但是,当我检查web.config时,我发现绑定重定向已到位:

  <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
  </dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

这正是警告建议的内容.

我该如何修复此警告?

asp.net-mvc json.net nuget visual-studio-2013 asp.net-mvc-5.1

81
推荐指数
7
解决办法
10万
查看次数